
07/08/2026 12:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 - INPUT: {"rutTecnico":"19969062"}
07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

[07/08/2026 12:02: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;
                

07/08/2026 12:02:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

07/08/2026 12:02:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 - INPUT: {"rutTecnico":"19969062"}
07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

[07/08/2026 12:02: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;
                

07/08/2026 12:02:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

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

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

[07/08/2026 12:02: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;
                

07/08/2026 12:02:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 12:02:55 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:55 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

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

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 12:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:56 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

07/08/2026 12:02:57 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:57 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

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

07/08/2026 12:02:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:57 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:57 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 12:02: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;
                

07/08/2026 12:02:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 12:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:02:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 03/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => ESTUDIO 6518
            [FechaLlamado] => 03/08/2026
        )

)

07/08/2026 13:02:17 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:02: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;
                

07/08/2026 13:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13705
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2671
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            

07/08/2026 13:02:19 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:02: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;
                

07/08/2026 13:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13705
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2671
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 13:02:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13705
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2671
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 13:02:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

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

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

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

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

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

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

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

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

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

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

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

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            

07/08/2026 13:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            
=========================================
FECHA: 07/08/2026 13:03:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-znyIobePWoj3+4u..eFUn2cq6UhYY0MtGhg6OvsHJEFRilRZRFK
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "KY2671",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "45085",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia dato de autentificación wifi\n•Recepciona Francisco Gonzalez\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13705",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABsARADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA+EAABAwMBBQUGBAQEBwAAAAABAgMEAAURIQYSMUFREyJhcZEUgaGxwdEVIzLwFiRC4TNSkqImQ1NVYnLT\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgECBAMHBQEBAQAAAAAAAAECAxESITFBBFFhEyJxkaHR4TKBscHwFFLx\/9oADAMBAAIRAxEAPwD9mpSlAKUpQClKUApSlAKUrP3zaJcZ4W61o9onrO6QBkN+fj8uddjFydkV1KkaccUjvetoUW1aYkVv2mc5jcZTk4z1x8q7WNm6NRVLusgOPOK3ggAfljpkVwsNgTbAqVKX2893JcdJzjPIferqpSaSsiunGcnjnlyXv1FKUqBoFKUoBSlKAUpSgFKoNrpTsa3NJSooaed7N1aVYIBB9dM+lRHLDdrMUyLPPdkpQO9GeVoR4cjU1C6vczTruMnFRvbX\/wANVSquyXtm8xyQOzkN6Osnik\/arSotNOzL4TjOOKOgpSlcJClKUApSqyZtFaYBKX5re8DgoQd8g+IHD311JvQjKcYK8nYs6VmF7bsOHdg26VJV0xj5ZqLL2zuMRf51oDKcjCXVkKwfDH0qapyM74yis7+jNjSsjE29aWEmXBcbRnCnG1bwB15VqIkuPOjIkxnQ40vgoVGUJR1LKVenV+hnalKVEuFKUoBSlKAUrwkAZJwBWWuN5kXyUbRZFZQR+fKHBKeePvz5VKMXIqq1VTWeuy5nS7bQPyZRtNjHaylaLeSe62OeD9frVjZLExZmCQe1kuD8148VHoPCutos0WzRQzHSCsj8x0jvLP28KsK7KStaOhXTpScu0qa\/j+5ilKVA0ilKUApSlAKUpQClKUBU7S21d0s7jDWO1SQtAIzkj+xPCvdn7ui6wUhSsSmQEvIPEHr76tayd8QrZ+9sXqOk9g+rckpHrn3\/ADFWR7ywmWrelLtVpo\/f7Eu+2F1x4XW0ksz29SE4AdHPPj8672TaWLdQGHP5eYkYU0vTePPd6+XGrhC0uNpcQoKSoApI5iqq97OxbuntR+TLSO48nQ6cM9fnRSTVpCVOUJY6W+q5\/Jb0rHNbWP2eU5BugEvsz3HmFpJI5Ajr6GvWLvfdpe0RbfZ4TAOCsryv78+QHnTs39jn+ym8ldvluaeZcYdvQFy5LbIPDeOp8hxNUL21zsxRasduelLBwXFoIQPT6kVWuRdnbQ6XLlNcucxI1bB3gT++p91TG7lfJzfY2S1IgRtNxxxATp1AOnoDU1BLP4KJV5ydr26LN+yPXbNdJyFvX+8CLGUNWWl7qR4HOnzqJ7ZszbVli321VzfHAlO+CfM5+Aqxb2P9qd7e8XB6W4cEpSd1I8PLyxV9Et8OAjciRm2RjB3E4J8zxNcc0v6x2NCcne1urzfsjOp\/iq5YbQ21aox6AbwHzz5YqXb9kIEVZelkz3yclbw7v+n75q\/rjJlx4bfaSX22UZxlagKjjbyRoXDwXem7+P8AWPox2FMezqZbLOMdmUjdx0xwrLIZ\/ANsI8aE4fZpqcrY4hHHh7x866zNq3Zr3sVgYVIfUcdspPdSOuvzNTbNYXIsg3C4yPap6h+s8G9OA+PTjXUnFPEVTlGtJKmtHr+upd0pSqjcKUpQCub77UZlbz7iW20DKlKOAK5Tp8a2xlSJTobQn1J6Ac6zDLFw2vkiRK34tqSe42Faucv2fcOdTjG+b0KKtbC8MVeT29+gemT9rn1RIIVGtqThx5Q1X++nrWmt1ti2uImNFb3UDUk8VHqTzrsww1GZQyw2lttAwlKRgCulJSvktBSo4Xjk7y5+wpSlQLxSlKAUpSgFKUoBSotyuDNrgOy3z3UDQDio8gKzL102mVbTegqPHigbwYUnJUk4APDhz4j0xU4wciipXjTdnm9cuRsKVwhSUzITMlIADqAvAOcZHkPlXsqZGhNdrKfQyjqtWM1G2xdiVsWx2qBe4zcqzSmnd3HZkgq4AjUfGqeTtauU4Y9ihuTHebhQQlPjj74qJOtEx2GZm0l33UIBKY6CACeQ6Z8gfOrFBp3eRkqcRGUWoK\/48z4tW1vYWmNBjw3pUxCdwJAwPDhrw+VdpNvvFxbD99uTVvh\/1NNqx7jy9SarNnp89m3mHZ7eXJTqypyQsDdQOAHw5nrpV3F2SXJdEq+TFzHePZhR3B7\/ALYqyVovkY6WOrBLN+i+71ZXM3Gw29wMWa1ruMlWm8sE59QfgBXkbZCfPmLlSktWxCjo2xqfcAcD191bONEjw2+zjMNsoznCEgVGu15h2eP2slffIO42P1LPh96h2jv3TQ+Ggo3qtWWyyXuZljZS72h8vQHIcnwdbGfDjw9xqd7btmnT8Lhrx\/VvDX\/fX3Z2bxdLgi7XBxcWOnPYxknG8DniPvqfAVpKSm752Z2jQi43g3FGY9u2z\/7TD\/1j\/wClee17ZrOPw6I3jnvDX\/ea1FKhj6Iu\/wA7\/wC5ensZcWzayXpJu7UdPRoaj0A+ddmNjIXa9tPkPznSBlTiyAT8\/jWipTtJbZBcNT1ln4u5xjxY8Rvs4zDbKP8AK2kJHwrtSlQNCSWSFKUodKa8bP8A4rJTIRPfiuJQEDszpoSQce+qOfPveyzjaXp7M5pZ7qXMlZHM9R6nWri9bSJhuiBb2\/ap6zgITqEefj4Vzs+zi0STc7w4JU5eoB1S39CfgOVXRdl3tDz6kVOdqP1bvZe\/gZ6LNh3e9Lf2ifW0G9WY6gQgeB6cvPryrfMracZQthSFNEd0oIKceGK5TLdDuDZblxm3QRjKhqPI8R7qzzuzlxs+8\/s\/MXgneXHdIO94DTB58cedcbU+hKEKlC7tivq9\/k1VKo7TtMzOkGDMaMScklJaVwJ8D18KvKraayZrhUjUV4sUpSuExSlKAUpSgFKVCuF2g2tvfmSEtkjKUcVK8hxrqV9DkpKKu2Ue0oF0vtusoJLee1eCTy+mgPrU\/atbTOzUlBUlG8lKUJ4Z7w0ArMsSLpfNoZVws6AnuhAW7gdkkjA0yddD141xu1qTHusSNOuK5El0hUh1au62j368M9OWmtaFHNK+h5EqzcZyUb4sr7W0RZ26+3KTbY1vssErW00lDkhz9KTj09fSu69nYzKvxDaS59ur\/KVEIHgOZ8hiuju0Tsg+wbNQe1CRu9rubrbfkNB6+hr2JsiqQ8JV8lrmPf8ATCjujwz9sVy9un5LFHHZLv2+0V7nD+In5X8jszbe4nTtSjdSnxxwHv8ASq7aC0LhQkyLlNcmXGQrdaQk91PXHM8uGOI0rdsMMxmg0w0hptPBKBgCsrA\/4j2scnnvQ4HdZ6KVyPrlXpXIyzutEdrUW0oyd5PJclzy6GitUIW+1Rog4toAVw\/VxPxzUskAZJwBVTdNpbdayW1u9s\/w7FrVWfHkPnVV7LfNpVAyyq3W9WvZJ\/WodD19+nhUMLebNTrRh3IK7Wy\/fIkXLakmQYFlZ9slnIKkjKE+Pj8q+7VsyQ97feXPbJisEBRylH3+VWtutcS1sBqK0E6arOqleZqZRySyiI0XJ4qru+WyFKUqs0ilcZntIiOmGEGRunsw5+nPjXsYvmK0ZQQl8pHaBH6QeeKHL52OtKUodFKUoBWZul\/kzJhtViR2j50ckD9LfXB+vprXXam5PtoatMEEyppCd4H9CScfHX0NWFks7NmgJjtgKcOrrmNVq+3SrElFYmZZylUm6cHZLV\/pHKyWCPZ2ir\/GlL1cfUNT1A6CralKg227svhCMI4YrIUpSuEyrvdii3qOUuAIfSPy3gNU+B6jwqtsN3lxpv4HdwRIQPyXSf8AEHLXn4H61pqz+2Fu9ptntrPdkQz2iVDQ7vP7+6rIu\/dZkrQcH2sNVr1RaQ7c3DlSpCHXVqlLC1BashPl04\/KplRLXLM+2R5RxvOIBVjhvc\/jmpdQd75miGHCsOgpSoVwu0G1t78yQlskZSjipXkONEr6EpSUVdskPSWI5Ql55DZcUEoClAFRPIdaj3C7QbW3vzJCWyRlKOKleQ41l7i9cdrggQLd2MdlW+iQ8rdUT4H7Z5a1Es7tkjJfk3sPOXBpZC0PgqJPgOZ86tVPLMwS4t4rRVls3oWxu97vx3LPF9jjHT2l7iR4f2z510bsFrszap91f9rf4lchWileAPE+ea5Kvt5u5S3Y7ethk8JDyRjHhy+dRrts4ItnkXC5z3ZctKO7lXdSSeWdf3wqWmWn5K27pzSxNbvJfZf3iVlmvc+DAl+wwwtall115Q7iE46cM8efuqx2esX48XLxd1LeLi8IT+kLxpk45ctOlRbc1J2hgRLRGQWIUbvSHSP1KJJ+unqa3BXEtsVKVLajsNjCQSEgCu1JWyWpDhqXaJObvFeV\/g6MMMxmg0w0hptPBKBgCulZuZtjH7QR7Uw5PfVw3UkJ+5qvucS8y4S5l9moiRUJz7MydVHknpk+JNVKD3yNkuJgk1TV7ctPMn7UbRx40F2FEeDkt0bn5ZzuA8cnriquz26\/yLeiEyn8LiElTjpBDjhPPHHp0GBxqVsZY0JSbs82AVk+zpJyUDUE\/b+9a+pOSh3UU06U677Wo7ckuXyVdr2et9qAU012j\/N5zVRPh091WlKVU23mzfCEYK0VYUpSuEhSlKAUpSgFKUoBSlKAzFuSJW3M959PfjthLQPIcMj3fM1p6z13sMo3H8XtL\/ZSwnvtkDDunprgDXz5Vxa2wXFWGLzbnoroBytAyk+IHT3nlVrWLNGKFRUW41Mrtu+zNPSqZna2yPAYmhB6LQoY+GKmNXi2PY7O4RlE8B2qc+mag4yWxpjWpy0kvMm0qE7eLYz\/AIlwjJ1xjtRVdK2ys0YHceW+ro0g\/M4FFGT0RyVanH6pIvqoNrrgmNaVQ0EKkS\/y0Izrjmfp5mohvd+vA3bRbjGbzjt3yOHUA6fOvpqFAsDn4jfLgJM4jKSokkf+qeJ8+XhU4xwu78jPUrdpFqGS5vJF7a4hg2uNFJJLTYBz15\/Gvm4XiBa0FUuShCsaIByo+QGtY+57bSZbgagfyjOdXFjK1enD3etQ7bCmS3A7Ctq5Li9TKmDKc9QDp671SVJ6yKnxkfooq5euXu8XlJ\/C2BAic5cggaeHL0z5iqxDtit73aEu324KVxIO7n35z8atmNkXpZQ7e7i7IUDnskK7qfAf2Aq4abs9iaKEGPESeO8oBR8ydTxpiiskcVKrPvTy6v8AS0XqU3YbT3lWHXE2mKRolGq8e7X4ivv+BLcYu4Xni+dS8T9P3xrtK21tTIKY\/ayl64DaCB6n6Zrh+JbT3QEQrciC2f8AmP8A6vQ\/Y07\/AIHWuHbs7zfn8I8Fh2ghtBEa\/js0DA7VOMD35rPXnsyysS76ufLSR2bbYJbSSe9rw4dK0KdkZM1YcvN2ekHXuNnAGvU\/aut52ehxdnJbVuhJDpCTnVSjhQJ1OvAGpRmk9SupQnKDtGytu2\/Qr7a9tLLt0aNb4jUCOlCR26kgFQwO9rxzxyBz41PY2NYccD11mvznAToVEJx8\/iK6WraWzsWmIy9MDbjTKELSpCsggAHl4VJc2rszcdx5MwOBH9KEneJ6AHFRbnfJWLacaGFOcr+L\/RKKLdY4KnQ21GZbGpA1P1JrNsMy9sZ4lSQpi1MK\/Lb5uH98Ty4DnXRmFO2tfTMuG9GtyDllgHVfj\/f0rVtNNstJaaQEIQMJSkYAFRvg8SxRdfa0Ftz+D6SkJSEpAAAwAOVe0pVRtFKUoBSlKAUpSgFKUoBSlKAUpSgFfK20Op3XEJWnooZFfVKAgPWS1yNXLfHJJySGwCT4441Dd2PsbgOIhbJ5ocV98Vd0qSlJblUqNOWsV5FG1sdY2uMRTh6rcV9DVjGtdvhnejwmGlf5koGfXjUulHKT1Z2NGnH6YpGM2j2plNTl2+IoxQhWFvkZJ64GulUob2dyHZU+fIcOq9xsAqPma\/SFxmHVbzjDa1dVIBNERmGzlDDaT\/4oAqxVElZIxz4Sc5Nykn4rT1MTAmRGDvWvZV59edHXcqOnPgce6rP2va+aB2UKPDSf6lkZ9CT8q1FKi5p7FkeGaVsb+1kZj+Hr9L1nX9aOqWAQPhu\/Ku0bYm0MneeD0lROcuLx8sVoaVztJFi4Wle7V\/HP8keNAhwxiNFZZzx3EAZqRSlQL0klZCoVzusK1xy7MdCQdAgaqV5CptVtwsMC6S25MtClqbTuhO9gEa8fWpRtfMhVclHua9TEyHnto5S2rZZmW0E95SUDe8yvgP3xrRWTYyLB3H5xEh8D9H9CT9ffp4VomGGYzQaYaQ02nglAwBXSpyqtqyyRmp8HFSx1M36eQpSlVG0UpSgFKUoBSlKAUpSgFKUoBSlKAUpSgP\/Z",
    "razonSocial": "NETLAND SCHOOL",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JUANA ARAYA",
    "correoContacto": "jarayal@docere.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN SCANNER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997165059",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:03",
    "ubicacionGPS": "LatLng(lat: -23.5583589, lng: -70.3976632)",
    "horaLlegada": "12:17",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/08/2026 13:03:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/08/2026 13:03:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152165

[07/08/2026 13:03: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('65152165', 'KY2671', 1, 24456550, 45085, NOW(), 
				'08:00', '12:17', '13:03', 15, '•Se cambia dato de autentificación wifi
•Recepciona Francisco Gonzalez
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786122198.png', '', null, 'COMPLETADO','LatLng(lat: -23.5583589, lng: -70.3976632)' )
				
[07/08/2026 13:03:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201405

07/08/2026 13:03:18 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201405'                    
				WHERE idllamado = 13705			
				TO ENVIO: micorreo@miempresa.cl, jarayal@docere.cl, donkhapone@outlook.com


07/08/2026 13:03:18 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13705			
				
07/08/2026 13:03: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


07/08/2026 13:03:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            

07/08/2026 13:03:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            

07/08/2026 13:03:22 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13705
                and cs.estado_control = 1;
                

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            

07/08/2026 13:03:34 - INPUT: {"rutTecnico":"24456550"}[07/08/2026 13:03:34] 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;
                

07/08/2026 13:03:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 03/08/2026
        )

)

07/08/2026 13:03:41 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13705
            GROUP BY l.idllamado;
            

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13:03:43 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:03:43 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

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

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

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

07/08/2026 13:03:56 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:03:56 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:03:59 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:03: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;
                

07/08/2026 13:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:01 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:04: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;
                

07/08/2026 13:04:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13706
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN SCANNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152165
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2138
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/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 = 13706
                and cs.estado_control = 1;
                

07/08/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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                
=========================================
FECHA: 07/08/2026 13:04:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-J2HevfLAWj9vbw.uZL.bK4kMHbkkt5f3Rt2sxJG32xKF-C9ONJC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152165",
    "serieinterna": "KY2138",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•El informático configuró la impresora por sus medios\n•Recepciona Francisco Gonzalez",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13706",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACOAQADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABAEAABAwMCAgcHAQcCBQUAAAABAAIDBAURBiESMRMiQVFhcYEUMpGhscHRQxUWIzNC4fAHJFJ0kuLxVHOCwtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAQIDBQcEAwEAAAAAAAAAAQIDERIhMQQyQVGBEyJhcZGh0RQzseEjwfHw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBZeouN2vdxlpLPI2npoDiSoIzk9w\/tv3q7u9S+ktFVPGCXsiPDjv5D5qDo+mFPpynOMOlLpHepwPkAtI5LEc1W86ipp2WrK+V+odPuZVVVU2vo+LEo5Fuds8tgtNT1EdVTsnhdxRyDLSRhea2nFXQz0xwBNG5mT2ZGFS6IqHT6fDHfoSujHls7\/AOyPvRuRBOlVUL3TXHwNCiIszqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAq9Ss6TTta3ujz8CD9l903IJdO0TgMYiDfht9lNq4BVUc9OTgTRuYT5jCodFVYfaX0L+rNSSOa5h5gEk\/XK0WcDmfd2hN8V+DSLL6JAZDcImjqsqTj\/AD0WoWZ0Y0gXIkEA1Jwe\/mojusVPvU+v4NMiIqHSEREARcH1lNHUx0z542zSe5GXdY+i7oQmnoEREJCIiAIiIAiIgCIiAIiIAiztdXVE2saKgpp3iOFhfO1p25E4d6Y+IWiUtWsZwqKbduDsERFBoEREAREQBERAFk71DNp68C\/UreOnmPBUx+fb64+PmtYvE0Uc8L4ZWB8bwWuaeRCtGVmZVqfaRssmtPM809TDVUzKmGQOie3iDgdsLO6FbxWyqqDnMtSefkPyVVPrjpWsmoYaptXQzNdhrHgvhd9j9V807WXw2xtHaaJgb0ji6pk5ZP49VrgtF2OH6lSqxus1e6WeeRvHODRlxAHeVVVep7NR8QfWskcB7sXXz4ZG3zWZuVLDT5OoL5LVS\/8ApaY537Oew+AXmlsdfci00dujtlKTkSy9aQjzO\/wx5qFTjq2WntVVvDCOfq\/bJdWT6r\/UCnacUlFJJ4yODfkMrlTXbVF+y2jjipYiP5vBho9Tn5bq5tuk7ZQDikiFVMeckwDt\/AcgroAAYAwAjlBbqLQo7RPOrO3gvkxkWiK81AqZrvwT5yZGBznZ785BU06Trj1jqKsL\/wDi63P\/AKlp0VXVkaLY6K4e7Mu606mt7eOiuwreEHqT83eG5P1Cm2TUBuEz6Kth9mroh14zsHeQO\/Lf1V2szdCP35tbYhwy9E4vI2y3rbfIqU8WTIlDsWpQbtdK2uppkRFkdgREQBERAEREAUS53CG10ElZPktYNmjm4nkApRIAyTgBZGQ\/vbqBrGb2yhOS7G0rtsj1+gPerxjd56GFao4K0d56f94EvSVvm4Z7xWj\/AHNaeJvgw7\/Pu7gFpF8a0NaGtAAAwAOxfVEpYncvSpqnBRQREVTQIiIAiKuuN9ttrB9pqWh4H8tvWcfTs9VKTehWUoxV5OxYrjVVlNRRdLVTshZ3vdjKzYu+oL2SLVRNpKdw6tRONyO8dnwBXWn0fFI5tReK2atmbuQ554B4b7\/RXwJbzOft5T+1G\/i8kfJ9Ye0T+zWWikrZT\/WQWtHpz+OFzFivt3HFd7l7PETnoIR8ttvqpdVqOzWdnstI1ssgOBDTN2z5jb6lQnUupNQn\/cu\/ZlG79Me+R4jn8ceSuss1kc8nidpNzfJZLr+2RLvDpyzWyempiyeteC1pJ6Rzew5PJu3qq2hseonW981G2WKGQA9GJeAyDvxlWGpLHQWi0QQUkXFUTzhplfu4jB+G+OS28bGxRtjb7rAGjyClzwxyzM47N2tRqXdslp4mK09Uaeo5mR1dK+lr48AvqskB30b6gea2rHskYHscHNPItOQVWXttk6EOvAgxjDS\/3\/TG\/wAFWHR7Ih01pulTSlw4m9bIPwxt8VR2lm8jopqpR7kUn5ZPqahFlxDrCi2ZPTVrRy4sAkd3Z9fVfW3vUsbT01hDi0b8BO\/lzVcHJmv1KW9Frp8GnRZg3nU84Hs9ibH\/AO678kLyaLVlyHBVVkNDE4dYRYLvlv8ANTg5sfUp7sW+nyW93vtHZ4szP45nDqQs3c4\/YeKrdNW6qlnlvdzz7TOMRtP9DPLs8PDzUq16Vt1tLZCw1E4OeklGd\/AdiukbSVoiNOc5KdThovkIiLM6QiIgCIiAIiz1+vkzKllotXXrpti4fpD8438BupjFydkZ1KkaccTOF9udRcq\/937YRxyDFRLzDG9o+HP4c1e2y3Q2qgjpIPdZuXHm49pKjWOyQ2WlLGnpJ5N5ZT\/UfwrRWk1otDOlTlftJ7z9lyCIiodARFGrbhSW6AzVc7Im9mTu7wA7U1IbSV2SVWXXUFvs44aiXilxkRM3cfx6qnddrzqF5js0RpKTOHVUmxPl3emfMKRT2ex6da2orpmSVB36Wc5JPaWt\/wDJ8VooJb3ocrrymv48lzenTmROn1HqPanZ+zKJ39ZyHOHnzPpgKzt2mbXaG9PKBNK3d00+MDxA5BQ36rqbhI6CxW6SpcNulk2aP88SFRXKju9bdKW3V1w6SpqOsYWklkQ33ONs7Hs9VpZvLRHK50499JzfPh04ehpK7V9DC7oKBr6+occNZEDjPn2+mVCFqv2oTx3Wo9ipTv7PHzI8R+fgumkmexXC5WxxY4wPHC8MDXEeOB5dq1Ko2oO0TenCVeOKo8uSy\/0gW2y0FqZikgDXYwZHbuPqp6gXK9UFqZmrnDXYyI27uPoqIXe\/X9xbaqYUdKdvaJeZ8j+AfNVUZSzZq6tOl3IrPkjzqyrgbfbXDUv4YID00nbkZ7u33T8V6fqC7Xt5hsVGYos4NTKOX2HzKgWuyRS6tqKWrkNc2CPilfJnrPIHj49vctrS0sFDTMpqaMRxRjDWg5x29q0k4xSWpzUo1aspSbwpvhrllqUdu0jBHL7VdZTcKk7kyZLR6Hn6\/BaEAAYAwAvqr7pe6G0RF1TMOPGWxNOXu9Pusm5SZ2RjToxuskWCpxqKGa9x2yji9pJz0srXYEePqqrivuqRwhv7Nt55k543j7\/IeavrVZ6Sz03Q0zNzu6R3vOPiVbCorPUzVSdVrArR58\/Jf2T0RFmdQREQBERAEREARFmbrf56ys\/ZFjHSTO6stQ3lF34P3+G6tGLkZ1Ksaau\/9Ol81BKyY2uzsNRXOyHFoyIv7\/TtUjT+n2WiIzTO6atl3klO+M9g\/Pau1jscFlpuFv8AEqH7yynm49w8FaKzkksMTKnSlKXaVNeC5fsIiqLzqOkskjI54ppHvbxARgYxk8yT4KiTbsjac4wWKTsi3XGqq6eigdPUytijbzc4rK\/vpW18nQWq1l8hHNzuLHoOXxUeXSt+vE4nudXE08sF3EWjwA2+a0VO287HLLasS\/hi5fgk12spahzobRAAORqJyGtHlnb4\/BVjJ7Y2pE1yqJ71XHZsUYPRg92Tz9BjwV3R6EtsGHVUktURzGeBp9Bv81f0lvo6BnBSU0cIxg8DcE+Z5lWc4RyiYqhtFR3qtfn209bmbi\/ei6Ma2KOK0Uo2ADcOA8uf0Uui0bb4HdLWOfXTE5L5DgE+WfqStCvhIAyTgBZub4ZHUtmhrPvPx+NDxDDFTxiOCJkTByaxoAHoFk7RVUrLveb5VyAMjf0cbjzx3Ad+AArK46wtlC8xROdVy8sQ4Lc9xP4yspZrFV6h6SX2kRU4lJfxEuPEd+Xbz5rSEcm5ZHNtFZOcY0s2r5FjZr5RUArLrXSE1FY8lkEZyQMn0Hr3fGdHW6kv29LC220juUjvfcPA\/cAeatbXpy22oAwwB8o\/Vk6zvTu9FaqspxvdI0pbPUwqM5WXh\/bKG36Rt9JJ09SX1tQdy+bcZ78fnKvHFscZccNa0ZPgF6VVqO4xUFmqS6VrZZIyyNudyTtsPDOVS7k8zow06EG0rIrdGNdU\/tC6yA8VVPgZ7AN9vDrY9PBXlfc6O2xdJV1DIh2And3kOZWPs1fdpbTDbrJSFhbky1UmMZJycdn1Pgreg0fA2X2q6zvr6g7njJ4fyfX4LScVibkzkoVJumo01fm3p+yO++XbUDnQWSndTwZw+qkwCB4d3pk+SsLVpaioHCeoJrKonLpZdxnwH3OSrpjGRsDI2hjWjAa0YAXpUc+CyOiNBXxVHift0QREVDpCIiAIiIAiIgC8SzRwROlme2ONgy5zjgAKPcrnSWqmNRVycLeQaN3OPcB2rORUly1bIKmtc6ktnECyAc5B3\/3+CvGN83oYVK2F4Yq8uXyRr3f6+8dJS2WnqH0rTwySxRuJf4bch8yvVqutRZaUQRaYq2g+\/IeLief+j5LYU1NBRwNgp4mxRt5NaMBdVbGrWtkYrZqmLG55+S9rmY\/fMs\/m2asYR723L5J+\/dvb\/No6xmeXUbv81YXbUtDandCSZ6k7CGLcg+Pd9VVNtV61E8S3eU0lHnibTM2cfPu9d\/BSlG12rGc51U8MJ4n5L3Z9rteUccP+xgkllI\/UHC1vn3qLbre3UczZ7vd2Tv5ikheBjHl59nxWkhsFphpxA23wOYP+NgcfPJ3UOs0faqkAwRmklb7r4idt+5FKC0yEqNeTvO0ly0\/7qW1JR01DCIaWBkLB2NGM+feu6ybLnddOVUNLd3e1UchDW1Xa3zP53WjqrhR0MYkqqqKJpGRxOGXeQ7fRUlF35nVTqwafC2q5ElV18r6m3W41FLFHI8OAIkdwgDffOQqeXVVZcZjT2CgdMRsZpRho8fD1PovTNK1NwlFRfbg+ocDkQxnDR4f+AFKhhzkZyruonGir+PD1KqDV9\/uE3Q0dJA557I43HHnkqVLp7UV6c11zrmQRnnGDnh\/+I2PxWrpKOmoYRDSwMhYOxoxnz713UuoluqxSOyuS\/lm3+Chtuj7XQPbK9rqmVuMGT3Qe8D85USwv\/Z+qrpbXYa2Z3SxjPrgejvktSsvq1raGopLzBLHHVU7scDjvI3uA7eZz4FIycm0+JNWnGjFTgrYX7cTUKPW19Jboemq52Qs7OI7nyHM+izP7yXa+uMFjo+haAOOaQg8OfkPmVLotIw9KKq7VD7hUdvG48I+5\/wA2UYEt5l+3lU+0r+L0\/Zxk1Dc7y50FhonNj5GqmGAPLs+vkqW5afkZdqGimq5Kutq3cUr87NbnszueTjnw5LdVNTS2uidNKWQwxDYDA9APsqLTtPLcblUX+paW9N1adpyOFnL6AK8ZWTaVkc9WjjkoTd5P0S8vY0kcbIo2xxtDWNGA0DYBekRYHpBERAEREAREQBERAFWXq+0llpw+Y8crvciad3fgeK6Xm7Q2egfUy4L+UcecF7u5VNhsslTN+27t\/FqZutFG8bRt7Nu\/6eavGKtd6HPVqSxdnT1\/B4tdmqrtVi7X1uTzgpjyYOYyPsfVacAAYAwAjnBrS5xAAGST2LOV+qjLKaOxwOrag85A3LG\/n6J3pshdns8c3m\/Vl1X3KjtkPS1k7YmnkDzd5DtWddcbzqV5itsbqChPOoeOs4eH9vipFv0r0kvtl8mNbUu34Ceo3w8fotG1oa0NaAABgAdim8Y6Zsrhq1t7urlx6lVaNO0NpaHMZ01RzM8gy707lbLnNNFTxmSeVkTBzc9wAHqVRVesKNkpp7fDLXz\/ANIib1SfPmfQKLSmzRypUI20NCq246gtlrJZU1I6QD+WwcTvly9VSSwaju0PTXCritNIBl7Wktdjx3+pHkq1kVK2p9l05Suran+qtnGRGc8xkYHn9VeNNcWc9TaprdVvPXotTzddSVOonNttJRMDJHjg4us\/I7e4fNXtBo2ljlE9xmfXTbbP2aPTt\/zZTbJp+C0tMzj01ZIP4sx3ye3Gf8Kt0lO2UNCaOzOXfr5v8HiKKOGNscUbY2NGGtaMAei9rnNNFTxmSeVkTBzc9wAHqVQ1usqGJ7oaGKSunHIRjqn1\/AWai5aHTOrTprvOxolWXPUNttWW1E\/FKP0o+s7+3qqj2XU97c01M4tlMd+CIkPx475+JHkrK3aXtduf0rYjPNz6SY8RB8ByVsMVqzLtKtT7cbLm\/grH3HUN96ttpTQUrv15dnEd4\/sPVTKDSFDA\/p65z6+pJy58xJBPl2+uVfooc3osiVs8b4pvE\/H4M7WaWdHUurLLVGgqHc2DaM+GBy7PDwXPp9Ywjg9kpKjH9fEBny6w+i0yJjfHMl7PG94tryMzHYblda1lTfZ2mGM5ZSx4x69n38lpWtDWhrQAAMADsX1FDk2Xp0o0721YREVTUIiIAiIgCIiAIiIDJVzo7nraOCqljZTUDOMNc8DjdscfHHo1aK4XKltlGaqpkxHkAY3LieQCj3PT1tuzxJUwfxQMdIw8Ljt29\/qqiXQlMY+jhuFSxmc8L8OHwGFreMrXZw4a1NycYp343I+LlqhzZa2YW6154ms4gHPHYd+fmdu4K7p6iw2SmMUFTSws7QJAXOI7+0qiP+ngztdNv+X\/AO5B\/p4M73Tb\/l\/+5XeB5XyMILaIPF2d5c20WM+trcH9HSRVFW88hGzAJ9d\/kq+bU15qxiGKltjCPfqZBxDyB\/8AyVIi0DRtGJa6oeO5gDfz4KdBo2yQ+9TvlPfJIfthRektC+HbJ72XX\/TLyy2qR4kut2q7pJnIigaQ0Hu632wrOmuFyewxWDTzaSNwwJpGgEjsOTgfElaimttDR49mpIYiO1rAD8VKUOouReGyyWblby19XdmXZpSpuEzZ75cX1JH6UezR6\/gBaGlpKagpxDTRMhibvhox6lRLwy6yRxNtVRFBIXEOMoyMY8j3KpOlK6vc03e8SzNByYo\/d9OwdnYozkrt5FlalJxpwu+d\/wC9SxrNUWejyH1jJHD+mLr\/ADGyrTqK73Z3BZba5kZG09QMDHeOz6q2odO2q38Jho2Oe39SQcTs9+\/L0VmovFaIvgrT3pW8vlmXg0lNWETXy4TVMmciNj+o3w3+2Ff0dvo6BhbSU0cIPPhbufM9qkoquTeppTo06eaWfPiERFU2CIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "NETLAND SCHOOL",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JUANA ARAYA",
    "correoContacto": "jarayal@docere.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN SCANNER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56997165059",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:04",
    "ubicacionGPS": "LatLng(lat: -23.5583403, lng: -70.3976511)",
    "horaLlegada": "12:17",
    "horaDespacho": "13:03",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/08/2026 13:04:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/08/2026 13:04:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152165

[07/08/2026 13:04:48] [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('65152165', 'KY2138', 2, 24456550, 0, NOW(), 
				'13:03', '12:17', '13:04', 15, '•El informático configuró la impresora por sus medios
•Recepciona Francisco Gonzalez', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786122288.png', '', null, 'COMPLETADO','LatLng(lat: -23.5583403, lng: -70.3976511)' )
				
[07/08/2026 13:04:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201406

07/08/2026 13:04:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201406'                    
				WHERE idllamado = 13706			
				TO ENVIO: micorreo@miempresa.cl, jarayal@docere.cl, donkhapone@outlook.com


07/08/2026 13:04:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13706			
				
07/08/2026 13:04:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


07/08/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:53 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:04: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;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13:04:53 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13706
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13:04:53 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:04: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;
                

07/08/2026 13:04:53 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:04:53 - INPUT: {"rutTecnico":"24456550"}
[07/08/2026 13:04: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;
                

07/08/2026 13:04:53 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13706
                and cs.estado_control = 1;
                

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

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

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

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:09:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 13:09:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

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

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

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

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

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

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

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

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

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

07/08/2026 13:09:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 13:09:54 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:09: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;
                

07/08/2026 13:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13698
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:09:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

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

07/08/2026 13:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:10:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13: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 = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:11:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                
=========================================
FECHA: 07/08/2026 13:11:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-lxHx+WIxtuAz-gFSD140S-OeaL+6_x7uTnc8o1+m.JeJlDs+rq.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2673",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "80675",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantencion general maquina kyocera 3655\nFirmado por Williams Arevalo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13698",
    "observacion": "Mantencion general maquina kyocera 3655\nFirmado por Williams Arevalo",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACyAL4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA6EAACAgECAwYDBQcDBQAAAAAAAQIDBAURBiFBEhMxUWFxgZGhIiMyscEUFSRC0eHwM1LxFkOSosL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREiExBCJBUWFxIzKBoRNCsdHh8BQ0kcH\/2gAMAwEAAhEDEQA\/APswAAAAAAAAAAAAAAAAABpysvHwqJX5Nsaq4+MpM3FSrp\/6q1+6d83PTMN9mEIvZTl69fPn7IlGN9SmrUcLKKu3obp8UZ2oz7vQ9MstTe3f3R2gv0+b+A\/ZuMclbyzcTFT5uMUm16eD\/PqWSqquiqNVMI11wW0YxWySMyWNLRFfwJSznN+mSKw9M4tqXeV6xTZPnvCUeT9vs+noYx4h1jS5qGtaY3V2tnkU+CXny3T+haTyUVKLjJJprZp9Rjvqh\/HazhNr3+powc\/G1HGjkYtqshJdPFejXRnQVTUdDydDulqmg7pJN3Yz5xcfHkvL08fInNG1WrV9Phk1tKXhZD\/bLyOSjldaEqdVuWCatL2fY7wAQNAAAAAAAAAAAAAAAAAAAAABy6pZKnSsuyP4oUTcffsvYi+DKlDhymaSTtnOb2W3PtNfoS2dT+06fk0L\/u1Sh800Q3BN3ecPxr3W9Nso8pb9d\/1LF5GZpf2I35P\/AIWEAFZpAAABU4wnw1xSowX8DqT5Lf8ABL\/l\/JlsK5xvQ7NDV8fxY9sZ7+SfL82idPW3MzbStzGtY5\/csYNOLesnEpyEtlbXGfzW5uIGhO6uAADoAAAAAAAAAAAAAAAAAAKvoclpvFOpaVvtXc++qW+yXXZL2f8A6loK1xZRZh2Yuu43+piTSsW\/4ot7frt8ScM93mZtovFKovl+nEsoNdF1eTRXfVLtV2RUovzTNhA0p3AAABD8WRUuGcxPyi\/lJEwQXGVihwzkRf8APKEV\/wCSf6EoeZFO0O1GXZndob7WhYPg9seC5eiSO85dLrdOk4dTe7hRCO\/tFHUcepOmrQXYAA4TAAAAAAAAAAAAAAAAAABryKK8rHsouip12RcZJ9UbAA1fJlV0TKu0LVJaBnScqpPfEta23T6fH89\/MtREcRaKtYwl3TUMql9qmfr5b+pjw5rT1XFlVkR7GZjPsWxfi\/UslvLEvUyUm6UvhPTh9vQmQAVmsFY42fe4+BgrffIyVyXi9uX\/ANIs5V81fvDjvDx9k68KrvJddn4r69n\/ADYnT1vyM21Z08PNpFmjGMIKEVtGK2S8kZAEDSAAAAAAAAAAAAAAAAAAAAAAAACr8RYF2m5kOINOjtOt\/wATWv54+b\/X59C0HkoqUXGSTTWzT6koywsqq01Ujb\/OjOfT8+jUsKvLx5bwsXh1i+qfqjpKgnLhDW+zz\/dOZLfw3VUv7fl7FujJSipRaaa3TXU7KNs1oRo1HNNS8y1PLLIVVyssl2YQTlJ+SRWeEq5ZuXqGt2J75FjhWmlyjvv\/AEXwOnjHNePpCxapffZk1XGPVrr+i+JKaXhLTdMx8NNPuoJNpbbvxb+e51ZQ7kHv10uEc\/V\/g6wAVmoAAAAAAAAAAAAAAAAAAAAAAAAAAA5dRwKdTwbcS9fZsXJ7c4vo0QfC+fdjXWaDn8r8bfuW\/wCaH+c16exZio8c11ULDzaZurOU+zBw5SlH+z2+ZZDPdZk2jw\/GXDXqjPDi9e4vtzZPfE0\/7FXik5f87v4ItZBcHfsq4fqWNLtS7Td2\/ip9fpt8CdOTeduRLZl4eJ6yzAAIGkAAAAAAAAAAAAAAAAAAAAAAAAAAA8lJRi5SaSS3bfQqulRfEmv2atdH+ExH2MZNNbvfdP3Xj8V5G3iXMtz8qvh7Bku9va\/aJbP7uPJr+r+HmT2DhU6fh14tEezCtbe76t+5Yt2N+LMj8apb5Y69X+Cs6hVPhXWlqmNDfT8p9nIrivwP0\/NfFFrqtrvphdVNTrmlKMl4NGOTjVZmNZj3wU67I9mUWVrRMi7QdXloObNypsfaxLJdd+npv+fuPOuqC8Cdvll7P7MtQMJW1xsjXKyKnNNxi3zlt47L4ozKzWAAAAAAAAAAAAAAAYykoQcpeEVu+W5o0\/Pp1PCry8ftd3Zvt2ls+T2\/Q6QDmd+gAAOgAAAjNe1ivRdOle12rZvsVR85bfkjvuurx6Z3XTUK4LeUpPkkVbSKLOJtXlrWXWliUPsY9MufNdfrv7+xOKWr0M9ao1aEPM\/bqSPDWkW4NE83NcpZ+V9q1ye7iui\/r\/YnACLbbuy2nBU4qKBBcW6dVl6PPJco13Yi7yuxvb3W\/r09diblKMIOc5KMYrdtvZJFRnZdxhq0seDnXpOM95SXLvX0+f0XqSgne\/Ip2mSwYLXb0X7yMeGldxBqktWz7VN4qjCuuL22lt+Lb5v3foXIqGdXDhXiDHzcetV4GUu7tilyi+XP8n8y3JprdPdM7Uzs1oR2XdThLzJ59ep6ACs1gAAAAAAAAAAAAAAAAAAAguJdZtwqoYODvLPyeVcYrdxj5\/5+h1Jt2RCpUVOLkyP1bIs4l1ZaLh2JYlT7WRdHnu10\/wA6+xaaKKsaiFFMFCutdmMV0RwaDo9ei6dGhPtWzfbtl5y2\/JEmSk1otCqjTavOfmft0B5KSjFyk0klu2+glJRi5SaSS3bfQqWbm5XFWbLTNMk68Ct\/f5G34vRfouvscjG5KrVVNc29Ee5uVkcWZj07Ak69Oql9\/kf7\/Rf56llwsLH0\/FhjY1ahXBcl5+r9Rg4OPp2JDFxodmuC+LfVv1Og7KV8locpUnF455yf7ZHHq2nVarp1uJZsu2vsS237MujIzhTULL8OzTsrllYMu7kn4uPgn9Gvl5k+VbXIvQ9fxtcrT7i591kpfn8lv7xOxzWEhW8OSqrs+34LSDyMlKKlFpprdNdT0rNQAAAAAAAAAAAAAAAAABozMunAxLMrIn2aq1vJlf4Ywrc7Kt4gzlvbc3+zxbf3cea5fDkv7nmvSnrWtY+g0txrrffZMum23Jcn6\/NostVUKaoVVxUYQioxiuiXgizyx6syrxat+Efr+DM583NxtPxpZGVaq649X1fkvNkfrPEmHpP3S+\/ypfhphze\/r5fmR2HoebrWUtR19uMU968Ncopevl7ePmcUcry0OzrZ4KecvZdzTK3U+MLHCjtYWlJ7Sm\/xW\/19vD3LPg4ONp2LHGxa1CuPzb82+rN0YxhBQhFRjFbJJbJIyOSlfJaEqdHA8UneXP7AAES8HLqeBXqWnXYdnhZHZP8A2vo\/mdQCdjkkpKzK5whn2TxrdKym1k4Muzs3z7Ph9PD22LGVbiCp6LrOLr1EX3cpd1lRXVefy+qRZ4TjZXGyElKMknFrqic895cTPs7aTpy1j9OBkDiWr4MtS\/d0b1LJ57wSfLZb834HaRaaL1JS0YABwkAAAAAAAAAAAAU5ZWRoOv6jdZgX5csqadTrWyUd5PblvvyX0N88vijWF3eNhrTKn4zsb7W3xW\/0LUCzGtbGRbO1ljdv3jqRGj8N4ek\/e\/6+U\/xXzXNv0XQlwCDbbuzRCEYLDFWQABwmAAAAAAc2o4UNQ0+\/Es22tg4pvo+j+D2ZD8H5dssC3Tsnlfg2Otp+PZ6fXdfIsJxU6Ti4+qXalWpK6+PZmt\/s9Oe3nyRJPdaZTOm\/iRnHs+x7Ti48dRyL1RWrX2d7FBdrw8zsAEhR0fdgAES4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/2Q==",
    "razonSocial": "DSPRINT",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN RIOS",
    "correoContacto": "bastianrios@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:11",
    "ubicacionGPS": "LatLng(lat: -23.6618592, lng: -70.400125)",
    "horaLlegada": "09:15",
    "horaDespacho": "09:06",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/08/2026 13:11:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/08/2026 13:11:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[07/08/2026 13:11:48] [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', 'KY2673', 1, 19969062, 80675, NOW(), 
				'09:06', '09:15', '13:11', 5, 'Mantencion general maquina kyocera 3655
Firmado por Williams Arevalo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786122708.png', 'Mantencion general maquina kyocera 3655
Firmado por Williams Arevalo', null, 'COMPLETADO','LatLng(lat: -23.6618592, lng: -70.400125)' )
				
[07/08/2026 13:11:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201407

07/08/2026 13:11:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201407'                    
				WHERE idllamado = 13698			
				TO ENVIO: micorreo@miempresa.cl, bastianrios@dsprint.cl, donkhapone@outlook.com


07/08/2026 13:11:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13698			
				
07/08/2026 13:11:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


07/08/2026 13:11:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:11:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

[07/08/2026 13:11: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;
                

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:51 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:51 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:52 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:52 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13698
            GROUP BY l.idllamado;
            

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

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

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

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

07/08/2026 13:11:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

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

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

07/08/2026 13:11:53 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 13:11: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;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:11:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:50:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:50:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:50:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:50:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13698
                and cs.estado_control = 1;
                

07/08/2026 13:50:29 - INPUT: {"rutTecnico":"19969062"}[07/08/2026 13:50:29] 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;
                

07/08/2026 13:50:29 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 06/08/2026
        )

)
[07/08/2026 13:50:29] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[07/08/2026 15:57: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

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

07/08/2026 15:57:31 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EMPRENORT LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76522970
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLENCORE CHILE SPA
            [ciudad] => LAS CONDES, SANTIAGO
            [RutCliente] => 76821240
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

)

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

07/08/2026 15:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15:57:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 15:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13711
                and cs.estado_control = 1;
                

07/08/2026 15:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15:57: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15:57: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/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 = 13711
                and cs.estado_control = 1;
                
=========================================
FECHA: 07/08/2026 15:58:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NHafuJdmRpsa4BM.eMqWI.AA4vMsAs6i.eLaCCsODJBwM.d58pu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2757",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "16562",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumos ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13711",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnAS4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABJEAABAwMCAggDBQIJDAMBAAABAAIDBAURBiESMRNBUWFxgZGxIqHBFBUyQtEjUhYkMzVDgtLh8QclNEdTYnKEorLi8ERzksL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAzEQACAQIEAggFBAMBAAAAAAAAAQIDERIhMUEEURMiMmFxkcHhM4GhsdEUI0LwUmJy8f\/aAAwDAQACEQMRAD8A\/ZkREARc5poqeMyTysiYObnuAA8yuiAIiIAiIgCIiAIolVdbfRZFTWQxOH5XPHF6c190ddTXCDp6SYSx5I4h2qbPUrji3hvmSERFBYIiIAvDnG3NeogM5pnUFTdKqppa3oxJH+Dh+HONjtz7\/NaNfm1mnfRapjqCcRy1L4Xd+TjfzIPkv0la1YpPI4uCqupTalqmERFkdoREQBERAEREARFmKm9XC8Vj6LT\/AAtjjOJatw+EeH+H6q0YtmVSrGnrq9jTos9aLtWw3eWzXXBmyXQyN\/O3c+wPstCoasyadRVFdBERQaBERAEREAREQEO622K7W+Skm24hlrv3XdRVTpa5ylslmrvhq6L4Rn87Bt8tvLC0SzOqqOWklhv1COGemIE2PzM7+3s8D3LSOfVZy104NVo7a969jTIql2prQyjjqZK2NokaHBgPE8dxA3Crjq+WteY7Pap6p3LjcMNb44+pChQk9i8uIpR39TTqJWXWgt\/+l1cUR\/dLvi9OaovuvU113r7iyhjOP2UG7hjw\/UqXS6PtFOQ6SJ9S\/wDemfn5DAU4YrVlekqz7EbeP4I1RrFszzDaKGetlIyDwEN8cc\/ZcxQapupzWVrLfCTvHDzxju39StNDDFTxiOCJkTByaxoAHkF0TGl2UR0Ep\/ElfuWS\/JQ0ejrVTxjp43VUnW+Rx9hsrSgttJbI5I6SLo2SPLyM53P+ClIquTerNYUacOzFIzVTNLNr6lga94ihpyXNDticO3+Y9FpVmLb+315cpuqKEMHcfhH0K06me3gZ8Pnife\/wERFQ6QiIgPzaaAm1XV7fxUle1\/F3Eub74X6HR1DauigqW8pY2vHmMrI2WmNytN+YxvE6eV3AOWXbkfPCuNH1gq9Pwt\/NATE7J7Nx8iFvUzXgeZwnVkv9l9m\/Rl4vl72RtL3uDWjmXHAC+lWakilm09WshOHdHxeIByR6ArFK7sejOWGLktizRVWmqqKq0\/SOjI\/ZxiNw7HNGD+vmrVGrOwhJTipLcIiKCxTXW7T0N5tlLGGGKqeWyAjfqAwfNXKzGqPiv9gaNyKjJHdxM\/RadXkskYU5N1Jp7NfYoNV3CWGkit9IT9qrXcDeHOWt6zt6evYrGz2uK026OljA4gMyPA\/G7rKorUz751fW3GTLoqI9FDkbZ3H9o+YWrUyySiUo\/uTdV+C8Pczer4X07aS80+0tHIA4gc2k9fnt\/WKv6aoZVUsVRH+GVgeN+0ZXxX0jK6gnpXgYlYW7jkeo+qo9I1j4YpbJVDgqaNxwM\/iaTnbwJ9CE1h4D4dful917FtcLvSWyWnjqnOaah3C1wbsPE9XV6qcqjVFvFwsU7QzikiHSR+I5\/LK+9OV33hYqaYuy9rejfvk8Tdt\/Hn5qtlhui6qPpXB8rr1LGaVsML5XAlrGlxAGTgLhbbhDdKJtXTh4jcSBxjB2OF3mjbNC+J34XtLT4FZ7RUjmUFTQSbS0k5a5p6gf7wUSvFsmU2qsY7O\/maRERVNgotbcqO3MD6ypZCDy4jufAc1XXmqvZqm0VqpAA9mTVPOzfoD6+C4W\/SMEc32q6TGvqTuek3YD4Hn57dyuoq12znlVm5Yacfm9Pc4fwouVzcWWS1OewHHTTfh+gHqvf4N3e5fzxeHlhzmGDZvd2D5LTtaGtDWgAAYAHUvVOO3ZViv6fF8STf0XkjEQWyhsOp2UlXTsnpqoD7PLKM8Ds8j1c9vMLasYyNgZG0Ma0YDWjACq9SWw3SzyxxtzPH+0iPXkdQ8RsvrT1z+9bRFO4\/tWjgk\/4h1+fNJPErlaMVSqOmlk816otERFmdgREQBERAZixfs9YXmJw+J2Hg45DP8AeFp1mGkU3+UR+\/8ApVN7Af2Fp1eeqZzcNlGUeTYREVDpONUagUshpWsdOGnoxJ+EnvXxFLUMtzZatrGTtj4pGs3aDjdSVyqm8dLM3OOJjhnyUlWtzP6FjLbFJIdzJO52fID6Fc7KRatV3C1lpbHUnpodthzOB5Ej+qu+h5OOwHfJbM4E58D9Vy1YDQV1uvUbd4ZOjkPPLTk\/2vVbPObjzPPXVoU6i\/j9tzTrwgEYIyCvGPbJG2Rjg5rgC0jrC+lgekZK1E6e1RNannFLWfHBnkD1D3HkFrVQautrqu2CrgyKijPSMI546\/bPkrCy3Jt1tcNWMcThiQDqcOa0l1liOSj+3N0ttV4exPREWZ1mYveDrGz9IAGYOHdrsnb1x6rSTEiF5BwQ0rN6tzBcLPWjYRVGHHxLT9CtHN\/ISf8ACfZaS0Ry0sqlRd\/oZ\/Q3xWSWQgcT6hxcQOewWkWb0L\/MDv8A73ewWkUVO0y3C\/Aj4BZjU9NJb66m1BStJfC4NnaPzN5Z+nmOxadc54Y6mCSCVvFHI0tcO0FRGVncvWp9JC2+3ieU88VZTRzxOD4pWhzT2grN6fLrRqGusrxwwyEzU\/h2en\/aml6iW3XCp0\/VOyYSXQE9beZ98+q5azq4KOsoKuCZor6d+ejHMs579nZ\/WK0Uc3Hmck6qdONZ5OLz+zRrSQBknACw015jtOrKyehaKxlSwDo4nbF+3YOeQfVTI6a8aribNVTtorc\/dscTsmQd\/mOv0XxqCx01kt9LX26HhfSTBz3Fxy4EjmfED1UwSTs9ytedSpDHBWSzvv8AJfkurHNeqjpZrrDHDG\/BijGzm+P9+6t1ypp2VVNFURnLJWBw8CF1WLd2d9OOGKV7hERQXCIiALK20Cy6xqbeGcNPXASRdgIBPp+Iei1SzWsoHx01LdYQTJRTAnfA4Sf1A9VeGtuZzcSrRVRaxz+W\/wBDSoudPOypp454yHMkaHNI7CuiodKd8wiIgCIiAy+qv4hc7XeGj+Sl6OQ9reePTiWnBBGQcgqk1hTifTlQcZMRa8euD8iVYWif7TaKSYnJfC0nxxv81o84pnNDq15R52foTERFmdIREQGY0N+zt9ZT9cdSfYD6K7u1C25WuopCATIw8Gep3UfXCpNJfBcr3D+5U8hy5uH0WnWk3adzk4aKlQUX3ooNI3E1NsNFNtPRHonA\/ujl7Y8lfrK3dosGoqe7xgtp6s9FUgcge36+R7VqQQRkHIKia3W5bh5NJ05ax+2wIBGCMgrJU5dpXUJpnnFtrjmNx5Mdy+XI92Ctcq6+WqO72ySmcAJMcUTv3XDl+nmkHbJ6Fq9NySlHtLT8fMsUVFpa6SVtE+kqvhq6N3RyNJ3IGwP0Pgreoq6eka11TPHCHu4Wl7gMnsUOLTsXhUjOCmtCg11G42WKVg3iqGuJ7Bgj3wtDFIyogZKzdkjQ4ZHMEKNeKP7faKqmDeJz4zwj\/eG4+YCgaQrPtdgiY78dOTE7bHLl8iFbWHgYrq8Q1\/kvt\/6RNDEx2+rpXH44ak5B6tgPcFadYhlVcLPqe50lvoxUuqHCQMzgN68\/9WFP6PWFfkulp6Bh\/KME\/X3CtON3e5jQrYIYMLbV1kjSySxwsL5ZGsaObnHAVRW6ss9G12KoTvHJkI4s+fL5qJHoyKZwkudwqax+cnLuEfU9vqrWjsVsoCDT0cbXAY4yOJ3qVW0F3m1+IlolHxzMhdX3m9f53ht7qRlMw8ErXESFv15k7DtVxpuzWeptf2pjXVElQwslfKclpP4gOzx5rTEAjBGQVkq6KTSVzbX0g\/zdUu4ZogPwnc7fT0V1LEsKyMJUVRn0s+st+7vO+lZJLfW1lhqHEugd0kRPW08\/cHzK0FZSRV1HLSzDLJWlp7u9Z7UrXUs9FqOiPGIsNk4Ts+M8j8yPMLSQTR1MEc8TuKORoc09oKpPaRtQsk6L2+z\/ALYz+j6lzKeptM5PTUUpbv1tz+ufULSLKXR5sGqW3Z8cjqSqZwTOaNmu2H0B9Vp4Zo6iFk0Lw+N4y1zTsQk1\/LmTw0rJ03rH7bHRERZnUEREAUe4Uja+3z0j8YlYW5Izg9R8jupCIQ0mrMz+jat81nNLLkS0jzG4OO4HV+nktAstRH7r1zVUuOCGvj6Ro5Au559eP1WpV5635nPwzfR4XqsvIIiKh0hEVNdtUW+1OMJcZ6gbdFHuQe89XupSbyRSdSMFeTsT7pCKi1VcJ\/PC8c8dRWW0\/qenpLTR2\/opqiq4ywMjbyBcSN\/NdxQ3zUvxXCU2+hdgiBn4njv\/AL\/Re6Ngjo6260XCDJBKGh+Ny3JHPyz5rZJKLTzOGU5zrRcVZO6u\/PQ1aIiwPRCIiAzGnSf4S3wZ26X6ladZjTu+pr5tj9oPdy06vU7RzcL8P5v7shXi3tulrnpHAcT2\/AT1OG4Pqq3SNydV2w0k+RUUZ6N4PPHV7Y8lfrK3Bn3FqynuTRilrj0U3UGuPX7HyKmOacSK37c1VXg\/D2ZqkRV13vdFZoeOokzIR8ETfxO\/Qd6ok3kjolKMFik7Io9RNdY75TX2AZZIejnYDji2\/QeoC8tluqtSVzbxdgW0zTmnp+ojt8PfwSmslZqSX7xvRdFE5pEFO044QRsfr2nHYu+lq2WkmlsFcSJ6ckwk\/mbzwPcdx7lu3aOWqPMjHFVvJWhJ3S7+\/wATTrLWEC3arutuAwyTErBjGOvH\/V8lqVl7x\/EdZ2utxhk46Fx79x\/\/AEPRZwzujr4jq4Z8n9HkL+Pu\/VFrumcRvPQyO6h1b+Tj6LUKk1dQmtsExY3ikgIlaAOzn8iVMsld942emqskuczD88+IbH5hHnFMU+pWlHnn6Mnoi+ZJGRML5HtY0cy44AWZ1H0oV3twutslojKYhJj4gM4wQeXkoFbq+0UZ4GTGpkzjhgHF8+XzUJt71FdP5utTaeJwGJZ+rvGcZ8gVooS10OWdek7w17lmWluswpbF911UonYWua4gY2JPL1VVp64ts757JdJ2Qup3ExSSODWuae8+o8V9fwcvNfg3S9v4euOEYB9h29S6M0LaW7vkqZD1lzxv6BWvHPEzHDVvF04Wtlm9iyrLnZZaeSCqrqR8bxhzDK058gVzs9dZWwigttUwthBIbk7Anfc89yucekLHH\/8AC4j\/AL0jj9VYUlsoKF5fS0kMLiOEuYwAkdmVRuNrK5vFVnLFJL63JSIiodIREQBERAZfV4dR1Ntu8Y3p5uF+OsHfHhsR5rTggjIOQVVanpTV6eq2NGXMZ0g\/qnJ+QK+9PVQqtP0cxI+GIMd4t2PstHnBM5odWvJc0n6fgs1WXXUFvs44aiXilxkRM3cf081U1t+q7vVm2WDwlqjyaM4OP19O1T7TpehthbNI37TVZyZpN8HtA6vHmmFLORDqyqO1Lz2+XMri7UWohhjfuqid1u\/G4e\/sFb2vTtutIDoIeOUf0sm7vLs8laIoc3osi8KEU8Us3zfpyCzFrzFry6wjk6IP\/wCz+0tOsxF8H+USbP56bb0H6JDfwK8RrB9\/5NOiIqHSEREBlLZUQ2\/VN6dUStijwHuLjsN\/\/L5rUtc17A9jg5rhkEHIIWB1hHJDqGRsTATWwMbuO8Db\/wDAW3pYm0FuhikexrYImtc7kNhglazWSZw8NN4p07ZJv6tklU2qDQPss0NbOyIuHFFnnxDlgc\/8VCrNTy1s5odPwmpnPOYj4GDt39zt4rpQ6UY94qrzO6uqSeItcfgaezv9u5Qo4c5F51elThTV+\/b3+RUWy\/Xy50UNutsLBLCwNkqXHkOQO\/LbxJV3atK09JKKyuea2tJ4jJJuAe4Hn4n5KvubBpvUtPcomhlHVDo5mtGA3y9D5Fa0EEZByCrTlbs6My4ekm2qjvKPl3M9We1Va5JIWXaj+Cro\/jyObmjf5fqtCvCARgjIKzi8LudlWmqkXFkKz3Nl2tkVWwBpcMPaPyuHMKq1tC77oiq2bPpp2uB6wDt74UalLtM6mNE7aguB4ouoMd2fTzCl6yraSOyTUkso6eXh4GDd2zgc9w2WiVpq2hyTqY+Hkp6rJ+PuXkb2VVK1+MxysBx2ghUQuth01C+lhn438ZcY2fEcnqyNhj1VdbKC+Xu2wRz1ZoqBkbWMawfFI0AD08fRX9s07bbTh1PDxS\/7WT4nf3eShqMcmyynUq2lGNu9+iKkXPUt5aDb6JlDA4fysxyfHcewK+odGCd7Zbtcairk2y0OIHhk5OPRahFGNrTI0\/TRedRuXjp5EKjs9toMGmo4o3N5O4cu9TupqIqNt6m8YqKslYIiKCwREQBERAEREARFGr7hS22mNRVyiNg5Z5uPYB1lLXIbSV2dah0LaeQ1BaIeE8Zfy4evK\/PrJHcbnFJZaSdrKJkpfLKCd2nbHeDg7bc1atZcNYzNdK19JaWOyB+aX\/3t5DvX3QU8Nk1uaOEcEFVTjo289wP\/ABd6reKwprc82rLppxla0b2vzv6GhtlsprTRtpqZmGjdzjzee0qYiLFu56UYqKstAiIoJCzH+sT\/AJb6LTrMf6xP+W+ivDfwObiP4f8ASNOiIqHSF8uc1jC97g1rRkknAAXGtrqa307p6qZsbB1nme4DrWYkqLhrCQwUzHUtqa745XbOk3+fh6nkrRjfPYwq1lDqrOXIpLrfTV6hhujInPgp5AImuGA4NIJ37cnPdkK+jst11EW1N6ndTQZyyljGCB39nnk+CsLhpajq7bBRU+KboHZbIGcTu\/rHP6K7aCGgE5ONz2rSVRWWE5aXCzcpdK7p59zfscKOhpbfAIKSFsUY6m9fieZUhEWJ6CSSsiHdbbFdrfJSTbcQy137ruoqo0xcpo3Pslxy2rptmcX52Ds7cey0ay+r6Z9K+lvlNgTUrw1\/+83O36ea0hn1Wc1dOD6aO2vevY1C4VdZTUMJmqp2QsHW44z4dqz0uq57g5tNYaN887gC6SRuGx\/+9p28V9U2kn1U\/wBsvtW6rmP9G04YO7\/DCYLdoOu55UVfv2\/vgQbxcX6qj+xWq3Pnax+ftL\/hDT3dme\/0VPiibbLibgJDeGuAxMeeXDJHfjP0X6RDBDTRCKCJkUbeTWDACjVVnt9bUMqKilY+VhBD+R2zjPqrRqJZWyMKnCTn1m7yfl\/ULNGYrLRMcMEQMyOzYbKavGtDWhrQAAMADqXqybuzvisMUgiIoLBERAEREAREQBERAEREBDutyitVBJVytc8N2DW83Hs7lQWyy1F7qBdr6C4O3hpjs1o6sjs7uvrWqIBGCMgr1WUrLIxnR6SScnktjxrQ1oa0AADAA6lmdV\/xS52i5AYEc3A8jmRkHHpxLTqh1nTfaNOyuAyYXtkHrg\/IlTTfWRXiVei7bZ+WZfIolqqvttqpaknLpIml2\/Xjf55UtUasbxakk0EREJCzFzxSa4ttS7Zk0ZiyeWdwB8wtOqy+2cXijbEJOjljeHxvzjBV4NJ5mFeDlDq6qz8izVDddU01LJ9loG\/baxxw1kfxNB7yPYfJRDZ9SXFjYbhc2Q0+PiEI+Jw78Y9+tXNsslBaIw2lhHHjBldu93n+im0Y65lHKrUyisK5vX5Ip6HTMtfP946gkM0zjkQA\/CwdQOPYfNaZjGRsDI2hjWjAa0YAX0irKTlqa06Uaay89wiIqmoRQ7ldaO0wdNVyhv7rRu53gFnTVXzVDi2jBt9udsZXD4njrx2+W3erqLeexhUrxg8KzfJFjddU0tDJ9lpWmsrCcCKLcA9WT9BuoMOm6+8y\/a9QVDh+5TxHAaPp796ubRYqGzRYp4+KUj4pX7uP6DuVkpxKPZM1RlUzreW3uZbSj5bdcK2wzgkwkyxOxzbt75B9VqV5wji4sDOMZXqrJ4nc2pU+jjhvcIiKpqEREAREQBERAEREAREQBERAEREAREQBcaqnZV0k1NJ+CVhYcdhGF2RCGrqzMjp25y0FiuNLK3NTbeIhjztjfbwyD6rQWaukuVop6yVrWvlaS4N5cyPoqHUtmrRXmutkRkNXGaeeNvXkYBPdy9N1eWKkkobJS00oLXsZ8QOMgkk9RPatZ4Wrrc4uH6SM+jeiXrl9CwREWR3BERAEREARRa+50dti6SsqGRDqBO7vAcyqB18vF8cY7HSGCDODVT7enV6ZKsot5mNSvCDtq+S1L+vudHbYukrKhkQ6gTu7wHMrPHUV2vMjorFQ8EXI1Mw5d\/Z7qVRaQpWyfabnNJX1JOSZCeH06\/P0V+xjI2BkbQxrRgNaMAK14x0zM8Nap2nhXdr5lBbtKQxTmsukpr6pxzl+7Wnw6\/P0WgAAGAMAL1FRyb1NqdKFNWigiIoNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAih1F2t1KSJ66CMj8pkGfRVVTrW0QnELpal2cYjYR74VlGT0RlOtTh2pI0KLLOveorgC232Y07eXST\/TOB7odN3m473W8uDSd4oPw889w+RVsFtWZfqMXw4t\/RfUtbnqK2WoYnn45P8AZRfE7+7zVSbpqK9SBtspDQU5\/p527keY9gfFWlBpm024sfHTCSVg2klPEfHsz4BWyXitEOjq1O3Ky5L8mfodI0sU32m4yvuNQTkul\/D6dfn6K\/a0NaGtAAAwAOpeoqOTeptClCmrRQREUGgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFNeGX+WpbHapIIoCz4pJOYdk7dfVjq6lA\/glWVp4rreZ5gebI9h89uvsRFdTaWRzy4eE3eV388iXT6OskGC6mdMQc5kkJ+QwFa01BR0YIpqWGHPPgYBlEUOTerNIUqcOzFIkIiKpoEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "MALL ANGAMOS",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1071\",\"id_control\":\"29574\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:58",
    "ubicacionGPS": "LatLng(lat: -23.6952482, lng: -70.4156186)",
    "horaLlegada": "15:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/08/2026 15:58:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/08/2026 15:58:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[07/08/2026 15:58:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2757', 1, 27729424, 16562, NOW(), 
				'08:00', '15:38', '15:58', 10, 'insumos ', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786132716.png', '', null, 'COMPLETADO','LatLng(lat: -23.6952482, lng: -70.4156186)' )
				
[07/08/2026 15:58:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201408
[07/08/2026 15:58:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201408', 'EPS-R1071', 1)
				
[07/08/2026 15:58:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29574 and
				    IDproducto = 'EPS-R1071'
				

07/08/2026 15:58:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1071';
                
07/08/2026 15:58:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201408'                    
				WHERE idllamado = 13711			
				TO ENVIO: dsprintmallangamos@gmail.com, jefasucursal@gmail.com, donkhapone@outlook.com


07/08/2026 15:58:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13711			
				
07/08/2026 15:58: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


07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13711
            GROUP BY l.idllamado;
            

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

07/08/2026 15: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 = 13711
                and cs.estado_control = 1;
                

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

07/08/2026 15:59:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

07/08/2026 15:59:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13711
                and cs.estado_control = 1;
                

07/08/2026 15:59:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 15:59:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13711
                and cs.estado_control = 1;
                

07/08/2026 15:59:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13711
                and cs.estado_control = 1;
                

07/08/2026 15:59:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13711
                and cs.estado_control = 1;
                

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

07/08/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 = 13711
                and cs.estado_control = 1;
                

07/08/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 = 13711
                and cs.estado_control = 1;
                
[07/08/2026 16:03: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

07/08/2026 16:03:30 - INPUT: {"rutTecnico":"19969062"}[07/08/2026 16:03:30] 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;
                

07/08/2026 16:03:30 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 06/08/2026
        )

)

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

07/08/2026 16:03:30 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
07/08/2026 16:23:48 - INPUT: {"rutTecnico":"19969062"}[07/08/2026 16:23:48] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

07/08/2026 16:23:48 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 06/08/2026
        )

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

07/08/2026 16:23:49 - INPUT: {"rutTecnico":"19969062"}
[07/08/2026 16:23: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;
                

07/08/2026 16:23:49 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null[07/08/2026 17:30: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

07/08/2026 17:30:58 - INPUT: {"rutTecnico":"21773342"}[07/08/2026 17:30:58] 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;
                

07/08/2026 17:30:58 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 03/08/2026
        )

)

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

07/08/2026 17:31:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13712
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => IMPRIME ROSADO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13011790
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 2000AC
            [SerieInternaMaquina] => EXTO1809
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17:31:08 - INPUT: {"rutTecnico":"21773342"}
[07/08/2026 17:31: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;
                

07/08/2026 17:31:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13712
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => IMPRIME ROSADO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13011790
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 2000AC
            [SerieInternaMaquina] => EXTO1809
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17:31:15 - INPUT: {"rutTecnico":"21773342"}
[07/08/2026 17: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;
                

07/08/2026 17:31:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13712
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => IMPRIME ROSADO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13011790
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 2000AC
            [SerieInternaMaquina] => EXTO1809
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17:31:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

07/08/2026 17:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:31:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:34:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:34:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

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

07/08/2026 17:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            
=========================================
FECHA: 07/08/2026 17:38:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-88v7qGV9o.pgP7ZDs7uwxMm6LPGXwkE6bdcdc.0dfCZgYIuPWrb
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13011790",
    "serieinterna": "EXTO1809",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "problemas con :\nBanda de Imagen",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "13712",
    "observacion": "Una tiene un Rodillo de Trans suelto\ny el otro hace Ruido\nRequiere intercambio de piezas\nla dañada por la buena\nlas bandas quedaron, donde Cony",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEAOMDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMBBAYHAg0FAQAAAAABAAIDBAURBhIhMUEUUWFxgZETIjKhscHRI1IHFSQ2QkNigrLS4fDxM1NjcqLC\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAwEQACAQIDBAkFAAMAAAAAAAAAAQIDERIhMQQiUWETMkFxgZGhsdEUIzNS4cHw8f\/aAAwDAQACEQMRAD8A+zIiIAiwSAMk4AVauGoqquqnW7T8Ynkxh9QN7Wd3Lx8sqUYuWhVUqxpq7JyvudHbYvSVlQyIcgTvd3DiVBHV8lY4x2e1VFU\/htOGGt78Z95C6LdpSmid0m5v6fVu3udLlzR4Hj4qdYxkbAyNoY1owGtGAFLdXMqtXnm3hXm\/grQl1nLv6PSQ9mQfmUNTrKDBNHSVA54IB\/iCs6LmPkjv07\/eXn\/CtQ6skpqplLeqCSje\/hIB6n+O0Z+asccjJY2yRva9jhlrmnII7Cue5RUc1vmbXtYacNJftcu3PIqI0S6V2n2mU5HpXCPjubu+eeC60nG6OQlOFRU5O9\/MsKIirNQREQBERAEREAREQBc9bW01vpnVFVKI428zzPUOsrZUTx0tPJPM4MjjaXOJ5BVahpp9WVouVe0st8ZLYKfJ9ftPjx7sclOMb5vQoq1HFqMc5P8A27NhvV7vReLLSCGAOw2pmHEdYzu9xXr8T6ok9aS+sa7qY3d8ArK1rWMDGNDWtGAAMABel3HbREPp75zk2++y9CsG3aro2GSC6RVTh+rkHHuzu94Xqm1Y+CaOmvVBJRzPIAeASx3bv4DzVlWmqpKetgdBUxNljdxa4JiT1Q6CUc6cn45o9xSxzRtkikbIxwy1zTkHxXtVGaluGkpOk0cj6q1l2ZIDxjB5j6+as9HWQV9JHVUz9uOQZB+RUZRtmtCdOrieGStJdnwb0RFEvCw5wa0ucQABkk8llVfUdVNc7hFp2jcWukw6eQHc1vHB8N\/kpRjdlVWoqcb+Xea6yrqtVVb7dbnmK3xn7eox7fYPorDbrZSWqmEFJEGN\/SPEuPWTzUE3Rj6duKK81dPg7scuvgQs\/iPUcY+yv+0Rw22n+qseFqyeRkp9JCTnODcuOXoWdFWOgayG4XekIHDLR\/Isi16rmw2ovULG53+ibg48GhQwLii\/p5fo\/T5LI97I2F8jgxrRkuccAKGuOq7ZQjZik6XNyjh3+Z4BcjdGMneJLncqqsf34HvyVM0Fnt9sbijpWRk8X8XHxO9d3FzF689Eo+rIHod41LUNdXsNDbQdoQg4e8dv9fJWeGGOnhZDEwMYwYaByC2Ioylcsp0lC7vdvtCIiiWhERAEREAREQBERAVnV0slXJR2OnfiSreHP7Gg8+zO\/wDdVhpqeOkpoqaFuzHE0NaOwKu0WK3XlbM4AikhDGdh3D5uVnVkskkZaG9KVR8beCCIirNQREQHlzWvYWPaHNcMEEZBCq1nD7Dqaaz7+iVQMsGTwOPoCPAK1qsata2CvtNY1v2jJ9nI4kZB\/vvVkM93iZdpWFKotU\/TtLOiIqzUc9fWR2+hmq5d7YmF2OvqHiVDaToSaeS8VOHVdc5zi77rM8PMZ8upbNZvLdNztGfXcwbv+wPyUnbIhBa6SJvBkLBnr3BWaQ7zM96vZ6JerOpERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKxY\/wA8Lz4fFWdVix\/nhefD4qzqc9TNsvUfe\/cIiKBpCIiAKsao\/LLvabdEWmQymRwOfVAxxx2B3kpi7Xels9IZqh4LsepGDveer+qi9M2+rkmmvVyB6TU+w0\/ot7uXUOzvVkFbeZlrvpGqK7deS\/pY0RFWajiu9vF0tk1ISAXjLSeAcN4z2ZUPp6\/bEbbXdB0WqgGw0v8AVDwO3hn4qyqPudkoLuzFVD64GGyt3Ob4\/VTi1azM9SnLF0lPX3JBFV22HUNvyLdehJGMkMnGfDeD8lyXC\/aksrWmtjoXek9nmfIOBXVC+jIPacCvUi16lzRUulu+q73F+SQQ08f+8GbIPcXE58ApOyWG5UlaKy43N87wCBHtFw3jmT8kcLas7DaOkawRduOhYURFWagiIgCIiAIiIAiIgCIiAIiICsWf1Na3dnHLQ7Pl9VY31EEcrIXzRtkf7LC4Au7hzVcgIi\/CJUZOz6amGP2tzf5fcsazYaboF2iA9JTTAE44jiPh71a1iklyMMKjp0pNdjfuWhFhpDmhw3gjIWHAlhDXbJI3HqVRuPFRU09LH6Somjib1vcAoGbVE1bKaaw0b6uQbjM8Yjb\/AH24SHSQqJxUXmvmr5BwYSWsHWP8YU\/DBDTRCKCJkUbeDWDACs3VzM33qmu6vN\/CIG36XcawXC81JrarcWtPsMPz7OA7FYkRRcm9S2nSjTVohERRLAiKFv8AfDbw2jo2Ga4TjETGjOznmV1Jt2RCc4044pHi96h6JMLfbmCouEmA1g3hmevtxvWu1aWjjf0y7O6bWP3n0m9rD1dq3aesDLTCZ6g+lrpt8shOcZ5A\/E81NqbkllEohSdR46vguH9MAADAGAFlEVZqCIiAIiIAiIgCIiAIiIAiIgCIiAq91PRdc2yfBAmjMZPWfWHzCkdUwen05VgcWNDwc8MHJ92VH6yAgktdfj\/QqRk+R\/8AlTN6ANjr8jP5NJ\/CVb+rMKX5YePmjxYJ+k2Gjk\/4g3vxuz7lIqF0gSdMUeTn2\/43KaUJZSZpou9KL5IIiKJaEREAREQGuonjpqeSeVwayNpc4k4Vc0tTvr6yqv8AUty6d5ZBkey0cSPh4Fe9ZVDzS0tthx6StlDcHfu7u8j++E\/TU8dJTRU0LdmOJoa0dgVnVj3mV\/crW7I+7+DaiIqzUEREAREQBERAEREAREQBERAEREAREQEFrKm6Rp2V2CTC5sgA8vgStstSKzR0tQDnboXE9+wc+9SNbTiroZ6Y\/rY3M8xhVazVgdoOtjkJzAyWLGN4yN3vcrY5x7mYqm7VfOL9P+ktpD816P8Af\/jcppQ2kmFmmaMO44cfN5KmVCfWZfQ\/DHuXsERFEuCIiAIiICsSAVv4QWMdktoqfaAzuBxx\/wDQ8grOqxZ\/tNa3eR3tNaGju3fQKzqc+xcjNs2alLi38BERQNIREQBERAEREAREQBERAERaxNE6Z0IlYZWjLmBw2gOshAbEREAREQBfPLnP+K6m\/wBv34qS2Rhx1uBI8nHyX0NU3Vtjqa280s8EL5GTARvLMZBB+nwVtJq+Zh22MnTTjqv85FmtEPR7PRxfdhZnvxvXYsAADAGAFlVt3ZsisKSCIi4SCwSAMk4AWVpqqaKspZKaYZjlaWuHYhx3tkbWuDmhzSCCMgjmi101PFSU0dPCC2ONuy0Ek4HiiBXtmV23EUWua+CXINVGHxEjAdzwOvn5FWdQWpbRNWshrqLdW0h2mY\/SHHHn815t2rrdVN9HVu6HUN3PZKMDPPB+uFY1iV0ZKc1Rk6c8s7rxJ9Fztr6N7Q5lXA5p4ESAgo6vo2DLquBo7ZAFCzNWKPE6EUTUanstN7dfG89UeX\/BRp1fPWPMdotM9QfvvGAO\/Gd3iFJQk+wqltFKOWLPln7FoWioraWkGampihBGR6R4bnzVf6Dqu5HNVXxW+N3FkIy5vcR\/Mt1Poy3iT0tdNPXS43mV5APVw3+9dwxWrI9LVl1IeeX9OqXVVkhztV7HH9hrnfALnZrO1S1MdPC2oldI8Nbsx9Z7Tld0VgtEGNi3U+7m5gd8V2xQQwjEUTIx+w0BcvDgEtoerS8DYiIoGkIiIAudlBSx10lcyECplaGPk35IH+B5LoRDjSeoREQ6EREAREQBERAEREAREQBERAFxVlnt1wdt1VHFK\/75GHeY3oi6m1oclFSVmrka7RVlcciGVvYJSjdFWVpyYZXdhlKIrMUramHoaV+qvI7INO2emx6O3wkjm8bfxypINDRhoAHUERVtt6m2MIx6qsZREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "VISION",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IRMA SOTO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "IMPRIME ROSADO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:38",
    "ubicacionGPS": "LatLng(lat: -23.5782288, lng: -70.3901978)",
    "horaLlegada": "15:51",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


07/08/2026 17:38:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
07/08/2026 17:38:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:13011790

[07/08/2026 17:38:22] [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('13011790', 'EXTO1809', 1, 21773342, 0, NOW(), 
				'08:00', '15:51', '17:38', 4, 'problemas con :
Banda de Imagen', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786138702.png', 'Una tiene un Rodillo de Trans suelto
y el otro hace Ruido
Requiere intercambio de piezas
la dañada por la buena
las bandas quedaron, donde Cony', null, 'REPROGRAMADO','LatLng(lat: -23.5782288, lng: -70.3901978)' )
				
[07/08/2026 17:38:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201409

07/08/2026 17:38:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201409'                    
				WHERE idllamado = 13712			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


07/08/2026 17:38:22 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 13712			
				
07/08/2026 17:38:22 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('13011790', 'EXTO1809', 1, 'APP', 'sin otroTipo definido', -2, 'IMPRIME ROSADO', 'Sin coderror', '1', 'SI', now(), 'IRMA SOTO', '984818954', 'tecnico@dsprint.cl', 13712)
				
07/08/2026 17:38:22 Insertado nuevo llamado creado idllamado: 13713APP
07/08/2026 17:38:22 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


07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13712
            GROUP BY l.idllamado;
            

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

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

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

07/08/2026 17:38:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:25 - INPUT: {"rutTecnico":"21773342"}
07/08/2026 17:38:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

07/08/2026 17:38:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 17:38:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17:38:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

07/08/2026 17:38:28 - INPUT: {"rutTecnico":"21773342"}
07/08/2026 17:38:28 - INPUT: {"rutTecnico":"21773342"}
[07/08/2026 17:38: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;
                

[07/08/2026 17:38: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;
                

07/08/2026 17:38:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17:38:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 17:38:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

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

[07/08/2026 17:38: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;
                

07/08/2026 17:38:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:33 - INPUT: {"rutTecnico":"21773342"}
[07/08/2026 17:38: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;
                

07/08/2026 17:38:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17: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 = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

[07/08/2026 17:38: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;
                

07/08/2026 17:38:39 - INPUT: {"rutTecnico":"21773342"}
[07/08/2026 17:38: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;
                

07/08/2026 17:38:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17:38:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

07/08/2026 17:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

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

07/08/2026 17:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

07/08/2026 17:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13712
                and cs.estado_control = 1;
                

10/08/2026 09:14:23 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:14:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14: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/08/2026 09:14:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/08/2026 09:14: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/08/2026 09:14:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 06/08/2026
        )

)

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

[10/08/2026 09:14: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/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 09:14: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/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 09:14: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/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:14: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/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

[10/08/2026 09:14: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/08/2026 09:14:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:26:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:26: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/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:26:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:26:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:26: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/08/2026 09:26:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:26:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:00 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

[10/08/2026 09:27: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/08/2026 09:27:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:27:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:27:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:27:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 09:27: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/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:27:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27: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/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

[10/08/2026 09:27: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/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:04 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 09:27: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/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:04 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:27:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 09:27: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/08/2026 09:27:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:57 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 09:27: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/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:27: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/08/2026 09:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

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

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

10/08/2026 09:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:27:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

10/08/2026 09:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 09:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

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

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 09:28:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13708
                and cs.estado_control = 1;
                

[10/08/2026 09:28: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/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 09:28: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/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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/08/2026 09:28:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

10/08/2026 09:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

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

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 09: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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 = 13707
                and cs.estado_control = 1;
                

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

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 09:28:03 - INPUT: {"rutTecnico":"19969062"}
10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

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

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

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

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

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

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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 = 13707
                and cs.estado_control = 1;
                

10/08/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 = 13707
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 09:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

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

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 09:28:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 09:28: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;
                

[10/08/2026 09:28: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;
                

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

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

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

[10/08/2026 09:28: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;
                

10/08/2026 09:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 09: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 = 13707
                and cs.estado_control = 1;
                

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:20: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/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

[10/08/2026 10:20: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;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

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

10/08/2026 10:20:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:20:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:20:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

[10/08/2026 10:20: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;
                

10/08/2026 10:20:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

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

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:20:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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;
                

10/08/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 10:20:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:20: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/08/2026 10:20:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:20: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:21:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:21: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/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:21:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 10:21: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/08/2026 10:21:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

[10/08/2026 10:21: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/08/2026 10:21:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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;
                

10/08/2026 10:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:21: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/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:21: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/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13708
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2673
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

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

10/08/2026 10:21:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

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

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

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

10/08/2026 10:21:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:21:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 10:22:41
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YZjLX7EuQnNqWV.w4p6UenR9dQuy0ha5iVgQx.I3BEelNbXCE7M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2673",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Regimiento N1 Tocopilla",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Batallon telecomunicaciones",
    "rutTecnico": "19969062",
    "contador": "80679",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza instalacion impresora y escaner\nFirmado por Sebastian Campos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13708",
    "observacion": "se realiza instalacion impresora y escaner\nFirmado por Sebastian Campos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDARcDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAgcFBAUKBQUAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjMkIzUtHh8AcWJGJygpKywtI0U3Oi8TU2Q1Rk\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwUHAwUBAQAAAAAAAAECAxESITEEE0FRYSIycYGRscGh0eEUIzNC8GJy\/9oADAMBAAIRAxEAPwD+zIiIAiLMu9\/obMz+kPLpSMtiYMuP7F1JvJEZTjBYpOyNIkAZJwAsG46so6Z5p6Jrq6qOzWRDLc+I5+S4G0191OQ6tcbfb3DPRs2c8d\/b57dy37bZaC1MxSQBrsYMjt3HzU7RjrmZsdWr3FZc3r5L7mM2LWNY0P8AaKaja4A8JAyNvAo606qY0ytvUb5ANmEe6fhj4KoRMb5Il+mXGT9THsF6ddIpIamIw1lOeGVh2z34+a2FMWWRtXrK7VMO8TWBhIGxOw5\/3SqdcmrMls8nKGbvqr87BERQLwiIgCIiAIiIAiIgCIiAL54ml5Zn3gASO4\/+CuW7XBlrtk1Y\/BLG+60\/mceQ9VH6U9pk1OZJ5JHukhMryf6wBGfIj4KcYXTZmqbQoVIwtdsvERFA0hERAEREAREQBERAEREARFm326ttFtfOBmV3uRN7XEbLqV3ZEZyUIuT0Rz37UDbZw0tKz2ium2jiG\/DnkT+xeFi046nmdcbqRUV8h4su94R+Hf8ALqXppyyuo43V9cC+vqCXPc85LAerx7fRbqm3hWGJnhTdRqpU8ly\/IREVZqCzb9dWWi1y1HEOlI4Ymnrce7u5+S66yrgoKWSpqHhkcYyT9B3qboKao1PcY7tWtMdFAc0sP6xyNz3ZHnhTiuL0M9ao12Id5\/TqaGlLc6gszHy7zVJ6Z5PPfkD5fElbaIot3dy2nBQiorgERFwmEREAREQBERAEREARFz11WygoZquQEtiYXEDr7kONpK7JrU0rLleae1OePZ6dpqKkg4wACcc+fD\/mXtoymdJHVXaUEPq5CGDqDQerz28lgvNQ2xyVMg4qy9T8Ld8EsB327zgeCvaCkbQ0EFK3lEwN55yetXz7MbHm0FvazqPx9dPp7nQiIqD0wiIgCIiAIiIAiIgCIiALgvFphvFIIJXOYWuDmPb+UrvRdTad0RlFSWGWhMDTt8h\/Rajmfn\/mA\/UlZlTctR2+6RW5lyhrKiQgdGxgPCT2nhGNu9b+oL663htFQt6a4T7MYBngz1kL90\/YRa43VNSRLXTkulkO+M7kA\/M9auUrK8jz5Uk54KTatq7vLp4nF9t6joWj26ydM1o958Durt2z\/HYvWn1tapGuFQJqaRucsezO46tvrhbFxrhbqN1QYZJsEDhjGTupuO0V2pqxtZd4PY6ePZkIGHuHf19nPs5LiwtXasTm6tOSjTld8mvnI+YqSu1fVsqq1rqe1xnMcWcGTv8A3+irYoo4YmxRMDGMGGtaMABSxtt601xOtLzXUecmneMub6b+notu0XqmvELjFmOVhIkhd+Jm+N1yd2rrQls7UW1PvvW\/Hw6GiiIqjaEREAREQBERAEREAREQBTGr5n1UlHZIH8MlXIC\/ubnbPnv\/AHVTOcGtLnEAAZJPUv5rPcZbnfKmWkL3T1b+gpzkjgZsM92Rt5uVtKN3fkYttqKMFDn7f7I2rVEy96lNSwZoLY1sdOOokbNPzPorFcVptzLVbYaRm5YPfd+s48z6rtUZyu8i6hTcIZ6vNhERQLwiIgCIiAIiIAiIgCIiALNvl3js1vM7sGR2WxNPW7BO\/dstJSkUZ1HqqSWQ8VFbTwsGxa5+fDu+A7VOKTd3oUV5yilGOr0OvTVkmpDJcrieOvqNzxc2A9Xif3KgRFGUnJ3ZOnTjTjhiERFwsCl9QUU1pr26hoBktwKiLGzm9v8AHcVULzmhZUQSQSDLJGlrh2gjBUoysyqrT3kbceHifFHVxV1HFVQnLJWhw7u5e6mNIvkpKivs0rnH2WQmMkflJ+ux81TpJWdhRqbyCk9QiIoloREQBERAEREAREQE\/rK5ChsroWuHSVRMYH9X8x+Q81naEtXBFJdJW7vzHDns\/MfXbyKzby6TUmrPZKd2WRnogc5AA\/E7l25+CvqanjpKaKmhbwxxNDWjuCvl2IYeLPNprf7Q6j0jkj1REVB6QREQBF41VTFR00lRMcRxjLiszTl7lvcVRJJEyMRP4WhpzkLuF2uVupFTUHqzZREXCwIiIAiIgCIiA57hOaa21NQ3nFC948gSsfRUDY9Psmx708jnud1nBx9FqXaPpbPWMGcmB+MduDhZ+jncWmaYY\/CXj\/vJ+qsXcZmlntEb8n7o3ERFWaQiIgCIiAmG\/wBH\/lEd\/wDppuruA5\/4VTqYkcKv+UOLot\/ZKYiTbuP+8KnU58PAzbP\/AH\/9MLEpb3PU6oqbY2Jpghbnj3yCBv8AE4XZe7iLVaZ6scPG0YjDutx2Hj2+Sj7BVMsFdW1FzaY5HQNexuDxO4sO4RnfO4z4b8lKEbpshXr4KkY3txfgV16u8dooulLDJK88MTAD7zuzZcel7vVXWnqBWDEsMgaRjBG3WOrl658FKR36SsvX2rXQPnipt2Qs\/DH2HOO0DsycdS3LXX0lrv1cJJmMpK0CeGV5DRvk936x8MBSdO0bWzKIbVvKqknaOlvn1KskAZJwAo+C+T3fWUEVJM9lLFxNIadpAM5J6t8D\/wAr3uuoXXTFrsXSSyzbPnYCAxvXg\/M969houjbTwiGeWnmbHwySRuJ6QnGc56ue3euRSiu0WVZzqySpZpa9eiOi9ajjoSaSib7VXvPC2Nm\/Ce\/9nyWdpupu385Kqkuc73O6DpXRk7NceDGPAHGy2rVYKC0Dip48ykYdK\/dxH08lyXe01\/2my62mSNtQGcEjH\/mb3dXy8VxOPdR2cK11Ulwei5fLN5YOp9QRWqjfBE\/NZK0hjWndmfzHs7lyvrNU3I+zwUUdBuQ+Z30z9AfJY7bBGdU09uL31bmDpquV559eMb7cu88S7GCT7RGvtE3G1Na5XZQaUsMdrom1UgzVTsy45\/C078I+GVQIiqk3J3Zsp0404qMQiIuFgRF5VNRHSU0tTM7hjiaXOPcEON2V2Tmqpvb62jscbiOlcJJ3AZ4WD+CfTtX7oOPFnnlxgvnIG+2AB9SVz2SCWaC5ajrNpJ439EN\/caB1Z7gAD2BaGioyzTkbiMccj3Dv3x9FfLKGE86leddVHxT9MkjfREVB6QREQBERAEREB8vYJGOY7k4EFTmh3OZa6ilk2kgqCC08wCB9cqlUncM6Y1CLmxhNBW+7O1rfwO7fXf1Vkc04mWv2JRqcFk\/MrEXyx7ZI2yMcHNcAWkdYX0qzUEREAXDeLpDaLfJUykcWCI2n87sbBfN1vVDaIi+plHGRlsTd3O8B9ViUVBXajr4bndohDSw+9T0\/63Xk56th4qcY8XoZqtV3wU85e3VnXpW3zxxT3StJ9prjxlpGOAZPz+WFtVVVBRU76iokEcbBu4leymLnRV98u7qesYaW1Uh43OLsdLtzz\/GPFO9K7D\/YpqMFd\/PNng3pNWXKKqlh6O0UuXDpNukPf6eAXNd3t1RdBRWqnYWwkdJWdQG4wO7fzx2BdNTV1Gqqg262EwW6LaafhxxdwHZ3KloLfTW2lbTUsYYxo59bj2k9ZVjlhM0aW+ur5PV8+i6GXVWamtmlaylpgQRC57pOTnuAzk+i+LJRUd401QOradsvRscxucjABx1f2R6LWuf\/AKVV\/wDQf\/lKzNGf+2oP7T\/8xULvDfqXYIqso2yw\/KNalo6aij4KaCOFp5hjcZ8e1e6IqzWkkrIIiIdPKpqI6SmlqZncMcTS5x7gp\/R1O+aOqvExJlrJTjPU0H9u3kv3WFXM+CntFLvPWvAP9nP7ceQK3qSmZR0kVNGAGRMDRgdgVmkPEy\/yV+kfd\/g9kRFWagiIgClL6+S\/3mKw07i2GI9JUyAZxty+Pqe5bt6uH2XaairBbxsbhgdyLjsFwaUtYobYKmVgFTVHpHk82g8m5O\/f4lWRyWIy1v3JKktNX4cvM9tQllFpeqZGOBjYRG0N6gcNA+K+9NxdDp2iZjGYg7\/Fv9Vx62k4NOSNzjpJGN8d8\/RbFDH0NvpogMcETW48AEfc8ws9ofRL3OhERVmoIiIAiIgCIiALwrKSCvpZKaoYHxyDBH1HevdEONJqzJKKO+6YPAxnt9taTgNGXsGc8ufzHguuHW1re13TNnge38THR5x6fVUS8paaCf8ATQRyf22g\/NWYk9UZlRnDKnLLk8zAk1vbj7tNBUVEhOGta0DJ9c\/BePt+qrrtSUMdvid\/8k3Mbd\/0aqdkMUX6ONjP7LQF9piitEd3VSXfn6ZGDbNK01JN7XXSGtrC7iMknIHuHX4n4LeRFByb1LadONNWij8c4NaXOIAAySepSdZVz6srXW63vMdviIM8\/wCv3D6eq9b7XT3iudp+2nDudRMHbNG2R8d+\/Zb1tt0FroWUlO3DGcyebj1kqa7CvxKJN15OC7q169PufVFRU9vpWU1NGGRsGw7e8966ERVmpJJWRy3QgWmsJOAIH\/5SszRoI01T5HNz8f4iuvUMnRafrndsLm+u31XnpePotN0Te1hd6kn6qf8ATzM7z2heHyayIigaQiLF1VcHUNlkbEfvqg9EwDnvzx5LqV3YhUmoRcnwM+ycd61NV3l36Cn+5g5fDyyf7yqln2K2\/ZVogpTvIBxSHP5juf2eS0FKbu8iuhBwh2tXm\/FhERQLwiIgJbU4ddLtb7LG5pBf0swzuBv9OL4cuuoa0NaGtAAAwAOpTFiBuOqbnczuyI9DFk+XLwHxVQrJ5WiZdn7TlU5v6LImNc\/eW+jp+uSpHyI+qp1Mas+8utkp+fHU5I59berzKp1yXdR2l\/NUfh7BERQNIREQBERAEREAREQBERAEXy97I2F8jgxrRkuccALEr9X2qjBbFL7XLyDIdwf73L0yuqLehXOpCmrydjdU\/qfUUVspHU9PKHVkgwA0gmPvPZ3LKu1zvtRQuqpgLTREYAB+9eT1Dkc9fVsvfSGnWxwi5V0XFLJvC14zwj9bxP8AHNWqCisUjJOvOrLd0la\/F8jgsFyqaOkLLbZ5qqpmOZah+cE9Q8N+3vWqItZVo4jPS0QP5QBkfB3z6lTgADAGAF+qLqXd7E4bK4xUXN26ZEx9hajl\/TX8s\/6bT+5fg0lXv\/T6iq37YIHF6buVQi5vJE\/0tPjd+b+5C6g0zHbbRJVmvqJntc0Bsh2OSu2k0Rb6ijgmmqKvjfG1xAc0cORnG7V2a3cBp5wPXK0D4rbpAW0cDTsRG0H0U3OWFO5njs1J1pRw5WXyT38wbV\/9is\/xt\/2p\/Makb+juFY3H4feG3wXZHfHzarfamBhhjjOXdfFgH+PNba45zWrLYUNnnfDHTIlzpS4U+HUN+qWHOS15OD6H6LDljvddeTEZGXN9rdxAbBp3GR1ZO2\/gra8XBtstU9WTuxuGDtcdh8VwaStrqC0CWXPT1R6WTi5jsHpv5lSU2liZTU2eDqKnC64vP0+p40esqQuENygloJ84Ie0lv7R5hb8U0VRGJIZWSMPJzHAj1C86yipK2Lgq4I5WN3HGM4\/YsCfTNXbZ\/atP1RhP5qeV2Wnccs\/XfbmodmXQ0XrU9e0vqU6Kctuqw+qFDdqZ1DVHYFwIY4+fL4jvVGouLjqXU6saivFhcN6rPYLNVVIOHMjPCf6x2HxIXcpnWb31EdFaoTmSrmGQBk4G3zPwSCvJEa88FNtanXpGj9k09BkYdOTKfPl8AFtr4ijbDEyJgw1jQ1o7gvtck7u5OnDBBR5ExevvtZWeAblgMmPU\/wClU6mH\/wBJ\/lEZjf2Wm37sg\/71TqU9EuhTQzlN9fawREUDSEREAREQBERAEXLcqw0FunqxGZDEwu4Qpykbqu7UsdXHcqWCKQcTWtaM8\/7J+fUpKN1cpqVlCWFJt9CpmnhpojLPKyKNvNzzgBYVXquN8xpbPTPuFR2tHuN7yev5d68otHNqJunu9wmrZMcgeED6\/Jb9JR01DCIaWBkLB1NGM+PapdldSv8Afqf8r1f2JW5UFSaI1upq+boeIYpaQDAO+O7+Oa2rTBZKWidWW9sLYgwufLzcAOeSdxyWnUQR1VPJBM0PjkaWuB6wv5RWsFFWVVPSVMktKH8DntOA8c8HqPI+mVOK3isZazWyyU7Xvz1uVtNE\/Vt5dVTtk+yqc4hY7YSO25\/H4BVyxNN3a2VdDHS0Q6B0TcdA47jvz19ZyttVzbvY17Mo4MSd29X\/ALkERFA0hERATGtiZoKCgafeqakYxzONv9QVK4tjYXHDWtGT3BTN2HtOubXTnBbFGZeWcH3j\/pC79VV3sNgnIJD5h0TcdrufwyrWrqMTHGajKpUfD4X5JSw1Ukmroq+XiayrllDSdgcg4G\/eQOa\/oika3TsrdKUYp2EVtGOmGNjk7uHjy\/wrXptQ0s1ifcy9v3LMysaeTv1d+08vFdqdrNeBXst6KcJ8c\/v6GZfg696hpbIzPQwffVGOzHj2HH95VADWMwAGtaPAAKd0jTSOpp7vVfp615dk7Ybn5Z+C8bzeZLxKbLZj0hkPDNO3dgYee\/Z2n0XGrvCuBKFRQi6stZaL2Rn3+41V79pfQSltBQDiL25HSOyBz89vAlVdikdLY6KR7y9zoW5cTkk4XNNaobfpapoYPwtgeS483HBJJX5pKTpNNUpxjHEP+4pJpxyFKMo1u282vk7LpaqS703QVTMgbte3ZzD3FT0NVc9Jytp60GqtecMnH4o+7u8D5FVkkjIo3SSODWMBc5xOwA5lZFtvdBqH2qkELi1mQ5rwCHt5ZXIt2z0LK0I4007S4dfE1KapgrIGz08rZY3jIc05Cm6VwvGtpqgEugtzOBuRtx7j58XoPLnraGr0i+Wutr3SUMm0kLznoydgc+PX5HPNaGiqdsdj9o4+OSokc554s4wcY+GfNSsopyRVjlVqRpyVms35aW8yhRF+OcGtLnEAAZJPUqTeTOn\/AOlapvVYd+BwhBPZnH+gfBU6mNDtL6Gsqy3HT1BxtzAH7yqYkAZJwAp1O9YzbL\/Enzu\/Vn6iyKvVFnoyWvrGSOAzwxe\/8Rt8VnnWRqXFtttFVVdhxj5AooSfAlLaaUXZy+fYp0Uv7Vq+uAEVHT0TTye\/GR5En5INOXyqwa3UEjdt2w5x8x8l3AlqyO\/b7kG\/p7lOXBoy4gDtK5pbpb4MiWup2Ecw6VoPzWE3Q1G8h1VW1U7gN\/eAz8CuqLRlkixxU75SP15HfTCWhzGOu9IpeL\/BoU14t1ZUGnpqyKWUDi4WnOyJR2e3W9\/HS0ccT8EcQGXep3RQduBdDHbt2v0OuSNksbo5GhzHgtc0jYg8wph1nvFilfPZ5vaadzi51K84wM590cvMY8FUouxk0RqUo1M9GuJP0Gr6KaT2eva+hqRs5sow3Pj1ea3mua9ocxwc08iDkFc1da6G5M4aumZKQMBxHvDwPNRtyp5bBcoqWx3Od0sx4fZvx8Ge3q7erIU1GMtMiiVSpQV59pej9DX1BdKmrrY7Fanjppdp5Gn9GOzPVtzWrQ2OhobaaBsLZI3j70vGTIe0\/wAbKXstxbph0kN1ts8U0rsuqfxcXd4bdRKqaS\/WquH3FdETjPC48LvQrs00rLQhQnCcnKb7T4clyz+pG3vTVXY5\/tC3vc6BjuIOaffi8e0d\/qqfTWoGXqmLJcNqoh940cnD9YLac0OaWuAIIwQetSd20zLQ1IutiIikiy90OTv28P7PTsTEpq0tTjoy2eeOlnHivsVqKbtmtbfVsDaz+iS9+7D59XmqGKWOaNskUjZGOGWuacg+arlFx1NdOrCorwdz7REUS0mIvv8A+USbr9npvTYf7l53Fzb\/AKqpqGIl1PQEvnIyBxZ5fADzKzaO9RUc13uhINVUyGOmjG569z3fh9FRaWtT7dbDJUZNVVO6SUk5PcM\/HxJV8uzmeXTe9eBaNtvwvkvM21CahtEc+oG0FqaWTVDeOdnERGMZOSMK2qaiOkppamZ3DHE0uce4Ke0lFLWS1d9qWkSVTy1ncwdndtj+6owbjeRo2mKquNLn7f7I8xYb9XQCkrbjHT0bRwiOBvNo5DkNsdpPgqC322ktdMIKSIMb1nrce0nrXUig5N5F1OhCDus3zZ8SxtmifE8Za9pa4dxUrp+4RWOprLPcalsYik4oXPHC0g\/wD6qtXHXWuguABrKdknBnBJIx6eA9F2LSyZyrTk2pw1RP3i5P1DUtslok4mO96eoH4Q3s8PrgL9sFJFbdXXChhHCxsDS0Hcke7v8AFaza2x2dro21FLT75c1rgXHxHNTU+oaCn1c64wF9RE+HgdwNwScdWcdgViu00lkY6jjCcak5Jyv6LM1NYPdVOoLPEcPq5gXHHJo2+ufJcskcujrr00fG60VLsOYN+jd5\/wAEeCz\/ALWr7nqf7RoLe6V8DOBkb\/yggjJxjtPqtSa16ovMLoa+pp6WB\/4omgOPV2Z6x2qVsKSehW5b2UpwTcr5Pw+5Te10wgbOaiMROGWvLwGkeKn9Qaot7bXUQUdWJaiRnA3o8kDPM55ciVhOscFpvMVNeTJNSS7QzMdwtz3jq9V33y026G72m20dPHH0knFMObi3IHM5J\/MoqEU0WTr1pQlZJcOuZ82arvotcNDa7WImtHvVE\/WTvxDOPr1Lt\/mrX3EtfebvJKMguhj2aPDq+CqUUHUd7o0R2WNkptu3p6IzKHTtqt4BhpGOeAPfk953jvy8lpAADAGAF+ooNt6mmMIwVoqwREXCQREQBERAEXzJIyJhfI9rGjmXHACm7nqV1W77OsINRUyHhMrR7rB2g\/XkpRi5aFVSrGmrv8nre7\/KyoFptLOmr5Ni4biL9\/yXtYNPR2lnTznpq6TeSUnOM8wP29a9bFYobNTkk9LVS7yzHme4d3zWspOSSwxK6dKUpbyprwXL8ny9jJGlj2hzTzDhkFZFXpOzVe5pBC7thPD8OXwWyigm1oXTpwn3lclxpCqpTxW691EAHJjskeBwR8k9j1hRgiKup6tvUH8\/iB81UIp7x8Sn9LBd1teDZ\/NrjbLtBWPuNbaI+j\/FK2Pdjh1nYkjxGFzMrJKdwqbQyto2\/maH9IwnxwO7mD8F\/UXNDmlrgCCMEHrUjPHLpG7mphY91qqSOkaN+jd+7q7eStjUxZWMFbZN28SllxfFdTJi1xeYRwyCCUjYmSPB+BC+Z9Z3epiewSwQAg\/gj3Pdvlf0OKWGqgbLG5ssUgy0jcELK1LHTw2Ctl6GMO6PhDuAZ3IH1UVOLdsJZPZ60YN71tW\/3EldN1dgt0Tautc99aHHhbwEhnYR1Z71RO1vZgMh057hGvfT1tpG2Kie+khMjog4uMYJOd+fmtJ1PSQtdKYImhgJJDBsFycouWZZQpVYU1haXl+SM1Jqinu9AyioWzAPeDLxM5gbgDft38l3U2p5oaVlPbtP1ckUTQ1h35AczhpX1peJ9zu1ZfpGcDHExwM5YH7hgeJKq12TjHs2OUadWperjtfpwJj7Z1PN+gsTWf8AVd+0hANZ1AzxUlL1Y2Pn+ZU6KvGuCRo3Des37exMfYWpKg5qb\/0fb0IP04U\/mUyf\/jrtWVJ8cfPKp0TeS4D9LSeufi2YlPpCyU5B9lMrh1yPJ+HJZ+oqWKy1Fvu1FBHDHBJwStjjAyD4d3ENz1hVa8qinhqoHQzxtkjeMFrhlFN3uxPZ4ODUEkyf0XDI+lrLlK3hNbOXDJzkAn6k+ipV8RRMgibFE3hYwYaOwL7XJPE7llGnu4KJw3e1w3egfSze6Tux+MljuorKsmnqukuXt1xqGzyRR9FFgchgb58MjdUaIpNKxyVGEpqbWaCIiiXBERAEREAREQBERAY1003Bd7hHUVVTMYWNx0Ad7ue3uz3di76G20Vtj6Ojp2Qg8yNyfEncrqRScm1YrVKCk5JZsIiKJYEREAREQBedRTxVUD4J4xJG8Yc13Ir0RA1fJkdHJWaNrHRSsdPaJn+48bmMn6\/PmOtd2rqyOXTIMEgeyqexrXN3BGc\/RUEsUc8TopWB7HjBaetTZ0TAyeMRVk3solEjoH7jyIx6q5Si3d6mCpSqQg6dPOL+n4KCig9moaen\/wCVE1nPsGFi6vr3RUMdtgOaiueIwOxud\/XYeZVA5wa0ucQABkk9Sk7I03\/UlTepATT056OnB+HwOfFyjDXE+BbXfZVKOry8uJR26iZbrdBSM5RMx4nrPrldSIq3maUlFWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAfLmtewscMtcMEdoXnSUlPQ07YKWJsUbeTWoiHLK9z2REQ6EREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "EDISON ROMERO",
    "correoContacto": "edinsonromero30@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:22",
    "ubicacionGPS": "LatLng(lat: -23.6944509, lng: -70.4155597)",
    "horaLlegada": "09:27",
    "horaDespacho": "13:11",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 10:22:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[10/08/2026 10:22:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61964800', 'KY2673', 1, 19969062, 80679, NOW(), 
				'13:11', '09:27', '10:22', 1, 'se realiza instalacion impresora y escaner
Firmado por Sebastian Campos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786371761.png', 'se realiza instalacion impresora y escaner
Firmado por Sebastian Campos', null, 'COMPLETADO','LatLng(lat: -23.6944509, lng: -70.4155597)' )
				
[10/08/2026 10:22:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201410

10/08/2026 10:22:41 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61964800'
				   AND serieintmaquina = 'KY2673'
		
10/08/2026 10:22:41 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2673'
				   AND estado = 1
				
10/08/2026 10:22:41 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61964800', 'KY2673', 1, 1, now(), 'Regimiento N1 Tocopilla', 'ANTOFAGASTA', 'Batallon telecomunicaciones');
				
10/08/2026 10:22:41 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201410'                    
				WHERE idllamado = 13708			
				TO ENVIO: micorreo@miempresa.cl, edinsonromero30@gmail.com, donkhapone@outlook.com


10/08/2026 10:22:41 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13708			
				
10/08/2026 10:22:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                
10/08/2026 10:22:41 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-YZjLX7EuQnNqWV.w4p6UenR9dQuy0ha5iVgQx.I3BEelNbXCE7M
10/08/2026 10:22:41 Detectado modo MULTIPART/FORM-DATA
10/08/2026 10:22:41 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786371761.png
10/08/2026 10:22:42 Envío correo: OK
------------------

10/08/2026 10:22:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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;
                

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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;
                

10/08/2026 10:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

[10/08/2026 10:22: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;
                

10/08/2026 10:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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;
                

10/08/2026 10:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

[10/08/2026 10:22: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;
                

10/08/2026 10:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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;
                

10/08/2026 10:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

[10/08/2026 10:22: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/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13708
LIMIT 1;
        

10/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

[10/08/2026 10:22: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/08/2026 10:22:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10:22:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13708
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

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

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

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

[10/08/2026 10:22: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/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22: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/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

[10/08/2026 10:22: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/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

[10/08/2026 10:22: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/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:22: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/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

[10/08/2026 10: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:22:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:22:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13707
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IND
            [SerieInternaMaquina] => KY2497
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:23:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

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

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

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

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

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

10/08/2026 10:23:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:23:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:23:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13707
            GROUP BY l.idllamado;
            

10/08/2026 10:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 10:24:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rO0veBIVqxHGKd9CDG0eeuxdff46BTsSd+eMVJ2w2g+cpRGoNFX
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2497",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "AV EJERCITO 01530",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TELECOMUNICACIONES",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro impresora kyocera 3655 debido a sensor roto\nFirmado por Sebastian Campos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13707",
    "observacion": "Retiro impresora kyocera 3655 debido a sensor roto\nFirmado por Sebastian Campos\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKAQ4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMCAwUEBwQFCQkAAAABAAIDBAURBiESMUETUWGBkSJxobEUFSMyQsHRUnLh8AcWJDOyJTQ3Q2N0gpKiJjU2RFNVYsLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECAwUHAgYCAwAAAAAAAAECAxESITEEE0FRcSIyYYGRwdEUsSMzQlLh8KHxYnKi\/9oADAMBAAIRAxEAPwD9mREQBERAERV92vVHZoe0qX5c77sbccTvJdSbyRGUoxV5PInucGtLnEAAZJPRUdXrC0Up4WSvqX9Gwtz8Tsq4U141W4Pqi6gtpOWxj7zx09\/vO3gtDQ2igtzGtpaWNhAxx8OXH3nmp2jHUzqpVq\/lqy5v2RSnUt3qgPoNgmIdgtkkJ4T8B80L9ZVQy2OkoxzHIn\/7LTouY1wR3cSfem\/LIzH1Tqt2XOvcQd3Bu3+FeX1Wq7T9rVxQ3GBuePshh3wA+RWpRdx80Pprd2TT6\/JDtl0prtSiemfkA4c082lTFmNN4Go702FnBCJBsGgDILh8w5adRmrPInQm5wu9QiIolwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVGo7nV2u3iWkg7R73cHFz4CRscdVkbZUzwVjrhcLRWV9U45a94PC0e7H\/50X6KisjNJWsZKuzyqTUsWnCxmP631I3dYKwDqd9v+ldIdbW0vDKqKopH9e0jyB6b\/BaNcp6WnqmcFRBHM3ukYHD4rl48iW7rrSd+q+DxS19JWtJpamKYDOeBwOFIWdrdHUb3Ce2yPoKlhy1zCS3Puzt5Lxbb\/WUtYy2X2HspjtHOB7Mnv6efrhMKecQq0oPDVVvHh\/BpVDu1wZa7ZNWPwSxvstP4nHkPVS3ODWlziAAMknosi4nV1\/DR\/wB2UBzxY2ldtt54Pl70iru70JV6jisMe89P74Fho+jkp7P9ImH2tW8yn3Hl+vmr9fGtDWhrQAAMADovqjJ3dydOCpwUVwCIi4WBERAEREARFFuNay3W6erfyiZn3noPXCLM42krslIsho68XC53CqbVT9pGGcfDwgYcSOXXktepSi4uzKqNVVoY4hERRLgiIgCIiAIiIAiIgCIvL3sjYXyODGtGS5xwAgPSKspNQW2uuDqGmmMkgaXcQaeE454Ks11prUjGcZq8XcIiLhIIiIAqrUVqF2tMsLWgzMHHEf8A5Dp58laql1Df2WmIQQDta2YYijG+M8iR+XVSje+RVWcFTePQzzLxW6gt9JZKQkTPZipmdt7IP6Yz35wtjbqCG2UMVJAMNjGCerj1J96zOh43w1lzhqIw2oaWcRxuD7WR3c+5bBTqOzwozbHFyhvJZvTpYIiKo3BERAEREAREQBZfWM5qDSWeKUMfUvDpCfwsHU+HM\/8ACtJNNHTwvmmeGRsGXOcdgFhjLJNS3PUtQHM7ZpgpG9wPs52PQfHKtprO5j2ufYwc9ei1+Cz0HTtbQ1dU1pAmm4W554aNvD8R5LVKr05R\/QbDSxEYc5nG73u3\/PCtFGbvJst2aGCjFBERQLwiIgCIiAIiIAiIgI1wr6e2Ub6upcRGzHIZJJ5ALNQ0Vfq530m4OfS28HMMLfvPHfn8\/Re7mwXzV0Nskz2FE3tZG8w\/PCcH1A81qmtDWhrQAAMADorO4vEx2382n3Vl1ZGoLZR22Ls6OnZEOpA3d7zzKlIirbua1FRVkEREOhEVferp9U291QIXzPJDWNaCRxHlnuC6ld2RGUlFOT0I2oL+y0RNhhb2tbMPsogM+GT59Oqj6f0++mlNzubu2uEvte1v2efz+XIJYrJMKl14ux7Sul3a08oh+uPRXs0rKeCSaQ4ZG0ucfADKm3ZYYmaEHUlvanDRcvF+P2M5pzMupr5KNmtl4C3vPE7f4H1WnWZ0TG91HV1z28P0qckZOdh\/En0WmXKneJbL+Unzu\/VhERQNIREQBERAERR66sioKKWqmcGsibk5+A9UONpK7KDVVTNW1VLYaNxElQQ6Yj8LPHw5k+4d64aghhmrLTpym2Y1wc9vPDQMDl1xxFSdMUrpzPf60jtqoks4sewwbc8bcvQBc9M8d0u9fe5QC1zuyg2OzfDyx6lX93y+55rTqNX\/AFv\/AMr59zUAADAGAF9RFQemEREAREQBERAEREAREQGYtxMWvLlG\/nJCHNOBy9n9fgtOstf\/APJOo6C8cWIpD2U2B8fHb5LUAgjIOQVZPgzNs+TnB8H98z6iIqzSEREAREQBUWsKp0FjdDFky1TxE1o3JzucD3DHmr1ZWqAvetoaYsLqe3N439xdsfnwjyKnBZ35GfaZPBhWssvUvrVRC32umpBzjYA7lz5n45XWWspoJ4oJZmtllOGMJ3cu6\/Ob7Vy190kukfsw0czKdrsbndxz8PiF2EcbzI16q2eCsv8AR+jIip75qKCyuii7J088mD2bTghuefwPooJNuyL5zjCOKTyLhFGt1ay40ENWwYbK3OO5VWqrybZQinpyTV1Psx4GeEbZPxwP4Lqi27EZ1YwhvHoXyKlonU2mbBAK6oI2HFxEk8R6Adw\/JTrXcoLtQsq6fIa4kFrubSOhRx48Dsaidk8na9iYsneZn6ivUdjpnEUsLuKqlaORGdvy9\/uVnfr7HbIDBA9j66TAiiJ5Z6nu\/NNMWc2q3cUxJqakiSUnmNtm+WT5kqUeysXoUVXvZ7pacfjzOOqqplr026CENZ2oEEbe5uN8eQVhZKAW20U1LwgPawF+P2jufiqS75uusaG3DJipB20oyMZ57+jR5rVJLKKR2l2qsp8FkvcIiKs1BERAFkNVX6so7tBSUc3Zhoa6T2Qcknbn7lr1+YXImuuFVcs+yaxsbMnJxg\/kArqUU3mYNuqSjBKOrP09ERUm8IiIAiIgIF5trLta5aR2A5wyxx\/C4ciq\/Sl0fU0jrfV8Tayj9h7Xcy0bA+XJX6yuo4JbPcodQ0bdshlSwDZw5ZPv2HvwrI5rCZaydOSrLhr0\/g1SLnTzx1VPHPC4PjkaHNI6hdFWak75oIiIAiLnNNHTwvmmeGRsGXOcdgEGhAv92bZ7a6YbzSexC0DOXEbH3BcNNWl9vo31FUS6sqz2kxdzB54+PqVXWyF+o76+71LP7HSngpmOBHFvkO\/P07lqXOaxhe9wa1oySTgAKyXZWEy0\/wAWe9ei0+Sq1NdfqmzySMdieX7OLvBPXyG\/os\/cLJJb9DtZ2Z7Yytmn23GRjHlkfFQ71eTddRxfRIvpTKchtOzo9\/PiI6jPwAVnW2K\/1ltqJ626njMZcaVo9g43xzAB2HRWJYUrmKpU30p4U3ZWXu\/7wLa4ahpbZbIZGETTzRtMMLTkuyNicdFEtun55mVNxup466qic0NxtECMY9+Nl50rarbPRQ3IRF9Tyc5ziQHA9B4YH6nmtOq28OSNdODrWnU04L36mOsmoaa0aZaypcDNDK6NsLdnHfO\/hud\/zXB1gu1xzepWg1TpWyxU8h\/CDnhOeX88srUNsdtbcHV4pWdu454ugOMcuSsF11EneJGOyylFRqPJaW+5mYrHcLvcI6u\/NhDICQyCPdruWOp2XufStR9JldQ3aejgmdxPjZnmSScYI\/nvWjRR3ki36anbPN8+JUWrTVvtThKxhmqP\/Vk3ION8d3VWrnNYwvccNaMk9wXpUuq7g2hsUwD+GSo+yZ58z6Z+C5nJk3goU20rJEDSDDW1dxvMjCDUSlseRjDc5I\/w+i1Kr7HQi3WampuEB4Zl+Bj2juVYJN3kc2eDhTSevyERFEvCIiAgXuuFus9TU8XC4MIZv+I7D4rGS0Zp9PWaF33qqq7UtxjOcAfDHqrnUrn3W7UVihdhrndrOcHYD+GfPCajY11\/sNO1oAZLnHPbLenkr4ZWPM2j8RyfBWXm2rmpREVB6YREQBERAFzqII6qnkgmaHxyNLXA9QuiIGr5Mymnah9luk2n6t2xcX00h5OB6efP35WrVRfrE28QsdHJ2FVCcxS45eG38hVcGqKu1Ypb7RTB7Tw\/SGDIf4427unorWsea1MUJ\/T9ifd4P2Zq0VLHq+xvZxfTeHbcOjdkfBRZtYRTyGns9HNWzdHcBDB4nr8Ao4Jci57TRS7y+5e1lZT0FM6pqpBHGzmT8h3rLRsrtY1IkmD6W0xu2ZnBl\/n0HRSKfTlbdqhtbqCfixu2lYcNaO4\/w9VpmtaxgYxoa1owABgALt1DTUrwzrvtq0eXF9fg8wwx08LIYWBkbBhrWjYBZi93Opvc8lksze0HKonzhoGdxnu+fJSNSXCqmqobJbXEVFR\/evAPsMPj065VtarVTWijbT07fF7zzee8ouysT1E71W6ccorV+y9yNZNP0tlhHCBLUEYdMWgH3DuCtXAOaWncEYK+ooNtu7NEIRhHDFZGZ0I4\/Us0btnR1DgR5N\/itMsxoj\/NK7h+59JOM8+Q\/gtOpVO8ynZPyIhERQNIREQBZSRhv+suE5dSWwe0DyL88vMj0arq\/XMWm0zVOR2mOCIHq88vTn5KPpe2m3WhjpM9vUfaSknO55de5WR7KcjLV\/EqKnwWb9i5REVZqCIiALhWVUdFRy1Up9iJpcV3WX1VMbhW0dggI453iSU\/stGcd\/ifIKUVd2Kq1TdwbWvDqdNJUkkoqL1Uj7etceDI5Mz+Z+QXi8e3rW0M5YaXZ9f0WkiiZDEyKNoaxjQ1rR0A5BZuu9r+kO3DmG0xJHdtJ\/BTi7ybM1Snu6UYeK+5p0RFUbgiIgCIiAIiIAvLmte0te0OaeYIyCvSICE+z2yR\/G+30xceZ7Ju\/v23UmGngpmcEEMcTf2WNDR8F0RduyKjFO6QUG8XOK0W6SqkIyBiNp\/E\/GwUuWVkMT5ZHBrGNLnOPQDmVk4WP1feRVSMcLVSnDGO27V3u\/nbZSjG+b0Kq1RxWGHeenyTtLW2Vkct2rQfplaS45GCxpOcefP3YWhUWqudBRA\/SauGIjo54z6c+ipp9bW5rhHRxT1kh5BjMD47\/BGpTd7EVOlQiouXyaNFmPrfVFYc0llZTs\/27tx6kfJfDadU1g\/tN5jgb3QjBHoB80wc2PqL9yLflb7n3QhBs9TK44Lql2e4ey39VfS3GhgJE1ZTxkftytH5rE6Y01TXm2yT1FROwNmLOCNwAOADncHvWgi0VZI\/vQyS\/vyn8sKc1HE7sz7NKtuoqMV5v+Cy+ubV1uVIPAztH5ro25UDjhtbTk9wlb+qrjpCwk5+gc\/9q\/8AVczouyEYFPIPESuUOx4mi+0cl6v4L0EEZByCvqy50SyFxdQXWqpTnI649CFCux1DYKTtX3lk0bzwAOA4+XMZGdvArqgnkmRltE4K84ZeDTJUn\/aTVQhzxUNu9p3CdnP6bg949AVq1h7RdKrTVM6Kvs9QGyPMj6gbknxzty8fmtRb77bbkB9HqmcZ\/wBW48LueOS7OL4aENmqQd7vtPNlgiIqjcEREByqaiOkppamZ3DHE0ucfALN6Tp5K6qqr\/VN+0qHFsQPRvXHoB5FdNYVD5WUlog4u1rJRkjo0H9d\/JaCmp46SmipoW8McTQ1o8ArO7HqZX+JW8I\/d\/COqzEnt\/0iRdOzpvXY\/qtOsxTfaf0iVf8AsqYc\/czl6rkOPQ7tH6F\/yRp0RFA0hERAEREARFAul5orRDx1cuHEezG3dzvcF1JvJEZSUVeTsieiy39Y71cGk2qzO4SSBJNyPyHxX02zVNxAFXc46RhJy2HmB5Y\/xKeC2rM\/1Kl3It+WX+TRVFZTUjeKpqIoR3yPDfmqaq1nZ6c8McklS7liJnX3nC8U2irax\/a1b5qyQ7uMj8Anv23+K7XSS36atT56Wmgim4eCHhaOIuPjzOOZ9yJRvbUjOdbC5O0V6v2M7X36v1Tw2y30nZB3tPBkGXgeJxgKwpdLXl9I2lqbv9HgY3hEVONiPHGPf1VPXaar7fbILq18v0ni4pmt2dGSdiCN1eaY1WK4toa9wbUYAjkP+s8D4\/P53Syj2NDDStKrbaL4n5K3kTKTRtnpnB8kclS8HOZn539wwPVXEFLT0rOCngjib3MaAuyLO5N6s9aFKEO6rBc6iXsKaWXb7Nhdv4DK6KBfJOzsVc7OP7O8DfHMELizZKbwxbKrQsfBYHOz9+dzvgB+S0iptJx9npmjGNyHO5d7iVcOcGtLnEAAZJPRSnnJlWzK1GK8CFd7tT2eiNTP7RyAyMHd58F2oa2K4UUdXBxdnKMt4hg88LG1nFqSW5XMtcaOjgcynB5FwGSdjz6+i0elf\/DVF+6f8RUpQSj4lVKvKpVa\/TbL11LdZapcb9q6OlaQ6ltp4pOoc\/Pv78DyPery8XBlstc9W44LG4YO9x2A9VV6WpY7Xp\/6bUycLqj7aV7zyHT4b+a5HJORKs8c1T4avov5NCqe46YtlwJk7I08+ciWE8JB6bcugVMNWVdReaeSGLgtr5RCHSDZ3effjputiuNSgdjOltCatdIyZOpNOuHF\/lShbgbD22gfEfEK6tV9oLvGDTzAS49qJ2zmn8\/eFS197uVzrZYbHkQUgLpZQ3PGRn2R78bY5pDZ6PUFsguVC\/6DXD78kWw4xzyBjHfkd6saTV5GaFSUZNUndcn7P5NYuc00dPC+aZ4ZGwZc5x2AWbpr9X2adtFqCIlmQGVjAS13v23+fgvF\/r3Xqrp7FbZGvbNiSaVrtuHnj0wfRQVN38DQ9qjgbWvLjc9aabLdrtVX6ccLDmKnb3Dx9wwPMrUrlTU8dJTRU0LeGOJoa0eAXVRk7sto093Cz149QsxQ\/wCkS5f7sPlGtOsxQ\/6RLl\/uw+Ua7Dj0K9o1h\/29madEVdV361UWRPXRBw\/C08R9B7lFJvQvlKMVeTsWKLNSa3pHuLKGiqquToA3APzPwXgXLVdeP7NbIqRh\/FN94eRP5KW7lxyKPqqb7ufRXNQizH1DqCuwa++GIfsU4IHwwrKzWCmspkfFLNLJKAHukd3dwRxSWpKFSpJ9yy8X7Fqqe+6eZejFJ9IfBLF9xwGQPLI\/kBXCKKbTuiycIzjhksjMfVGqabemvcc3hM3n6gp2+s4f\/KUc+fEDH\/UFp0UsfNIp+mS7smvP5Mv9d6miA7awh569mT+pVHVX8XO901bXUUzaSjO8LPaw7nuTjqBkdwWt1JdDa7U8xE\/SJvs4QBvxHr5D44XrTtrFqtMUJaBK8cchx1PTkOSsUklisZp0pzqbtTbSzd7eREi1rZJgBJJLECNw+Iny2yspe6C2MlNZZ6+FzM8Rh4+FzD3tzzHhzC\/Q5qCiqCTPSQSk8+OMO+agyaXskv3rfGP3SW\/IrkZxi7olX2erVjaTT9V8ldpfVDa+MUddI1tSwey9xx2o\/X5rTrFX7RQawT2dhOB7UBdknxaT8lW2WCjqI2RR3uptlXyLXHDSfAgjw2O\/vXXCMu1FkIbRWpNUqiu+d9fU\/R1VamIGna3JAyzGT4kKt+qdVU+9Peo5fCVvMeYKg3o6oZaKhtc2mfTEASPZjIGRv06qMYZrMuq13u5JwayZo9Ot4dP0Izn7EH13VZqaunqamGw0D\/tqr++cBngYf4ZJ8PeqWj1ZcYKGK3U1Ex8rYg2NzMudy2OB18F9st0ZY3y1FxttY+rlce0ne3cDwzjzU8DTbM72mE4Rpp2XF+xrW2uOksElvpxxfYOYM83kjGSq\/RVQySwtgyeOB7g5p6ZJI\/P0K8s11Z3\/AHm1DP3ox+RKoam9wUNdNXWSuDRUHMlNLCcZ3Oc+\/wCa4oSaaaJzr0YSjODVkrW8C01RVR192pbO6QMgiPbVTydmgDOD5Z\/5gubnT6vr2wQh8Fnpzu4DHaEfzt3KgoW0lyrZau7XJkDZXkyMAdxP642GAOXotxT32wU1OyGnrYI4mDDWjIwFKSwpJLMqpSVaUpTaSfjm1wXQ8ags8c+nXUtJCxppgHwsA5Y5ge8ZVNLqCrvFvpLXRcbK6fDKh\/CRwjqc+I39y0TdRWZxwLjB5uwvLbzY2yulbW0YkcMF4c3J81Wm0s0aakYSleM0k8mSLXbKe00TaanaB1e7q93UqhsvDY9S1dncC2GpxLTk8vd8x\/wq0k1RZIyQ64RnH7ILvkFntRXu1VclPW0FUTWUrstPZuAc3uyR\/OV2Kk201qcrVKUFGUGrx8eHE0WoqulpLTI6pgjqS7aOF4zxu\/hzWXttsvdhpY7tSsZM2WPM0BG4ZzHn7uXqojL2bpfW19ZQyVXZNHY00WSAR3\/E8lofrnU1V\/mtjEIPWd3L14VLC4KxndSFeePPLSyz6\/wW1ovdHeYeOmfiRo9uJ2zm\/r7wp8kjImF8j2saOZccALFO0vf5qp1wE1LS1JBIbASw58hjw5qNZbbbbjVuprxUVQuDHYMUr8B3gDzz5+5RcI6pl8dpqq0ZRzfF5f3oamq1RZqTiD61kjh+GIF5Phtsssy81Nbquass1L2sksXA1kuBgADfn4d611Jp60UWDDQRcQ\/E8cZ9TlVUbQ7+kJ\/CNo6XfA5bD9QkXFXscrRrSw42lmtPl\/B4Gn75dMG73UxRnBMMP54wAfVWNHpSzUbRilE7urpzx58uXwVyig5yZpjs1OLu1d83meI4o4WBkUbWNHJrRgL2iKBoCIiAIiIAvjnBrS5xAAGST0X1Z7V9wkhoGW6mBdU1x4A1vPh6+vLzK7FXdiurUVODkyLb2HUepX3R4P0OhIZA04Ic4dfU59Fq1DtNvZa7ZDRswSxvtOH4nHmfVTF2bu8iFCm4RvLV5sIiKJeFiNT2elo7xFcp4i6iqX4nDNix3f58\/I9626i3OgjuVumo5OUjcA\/snofVThLCzPtFFVYW48ChZpq5UIzZr09sRB4Y5Tlu\/I8iPgoN7st0hs1RV3G8yTBgB7FoPASXAD+cKz0pXPjZNZas8NTREhoP4meHu+RC+a3ld9Uw0rPvVE7W79wz+eFYnLHYyTp0nQc1fTS7yZK0xbKSktFNURU7WzTRNe+QjLjkd55DwV0ucMQggjibyjaGjyGF0VMnd3PQpwUIKKOckMUv95Ex\/wC80FZbVUEE9dQ2impYWy1Lw+R7WNDg3lzx7z5LWrLWfNy1hcbgRxR0w7GM42zyyD12B9VOGV3yM+0pSSh+5\/44lz9RWnAH1dTYAx\/djf8AVeDpuzE5+rod\/BWaKOJ8y\/dU\/wBq9CqdpmyuGDb4vLI\/Nef6q2P\/ANvZ\/wAzv1VuiYpczm5pftXoVsenbPH923QH95vF81IZbLfHjgoaZuOXDE0Y+ClIuYnzJKnBaJHlrWsGGtDR4DC9Ii4TCqr3Yaa8RcWBFVMH2c7diD0B7wrVF1Np3RGcIzjhksjMW3UstFMLbf2GCdmzZyPZeO8\/ryS3kO\/pBuL2nLTStwRy5Rq9r7dSXOnMFXCJG9D1ae8HootosFJZjK6Ave+TA43uyeEAbd3TPmrMUbN8TJuquKMW7pO9+JaIiKo2hERAEREAREQHxzg1pc4gADJJ6LLWWM32\/wA98laewhPZ0oOcYG2eXiT4Ervqe4SyOjsdCOOqq9n4OOFnX3ZGfLKubdQRWyhipId2xjd2AC49ScKxdmN+Zll+LVUeEdevD0JSIirNQREQBERAZnU9JLQ1UGoKJuZac4mb+23lk\/Lz8FH1HVx3AWKeI5innDsebdvmFrJI2SxujkaHMeC1zSNiDzCy9DpGamukb5KsSUNPKZIYjud+\/oNwPToroyXHgYK9Kd2oLKVr+D5mqREVJvOFbUCloZ6gnHZRufn3DKptFU\/ZWETObh9RI55PU74\/Je9ZVX0bTsrQcOnc2MfM\/AFWVrpfoVrpqbfMcTQc9+N\/ip6Q6mbvbR0X3\/0S0RFA0hERAEREAREQBERAEREAREQBERAEREAUavrWW+ikqntc4RjOG9fPopKIcd2sjOaattTJVz3y4NxUVX92zH3G+fkB4DxWjRFKUsTuQpU1TjhQREUSwIiIAiIgCIiAIiICg1DQVVwuVqijiLqdkxfK8fhxj02BV+iLrd0kVxpqMnLmERFwsCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "EDISON ROMERO",
    "correoContacto": "edinsonromero30@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56948747476",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:24",
    "ubicacionGPS": "LatLng(lat: -23.69145, lng: -70.4171267)",
    "horaLlegada": "09:27",
    "horaDespacho": "10:22",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "sensor roto",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 10:24:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:24:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[10/08/2026 10:24: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('61964800', 'KY2497', 1, 19969062, 0, NOW(), 
				'10:22', '09:27', '10:24', 2, 'Retiro impresora kyocera 3655 debido a sensor roto
Firmado por Sebastian Campos', 2, 
				'sensor roto', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786371858.png', 'Retiro impresora kyocera 3655 debido a sensor roto
Firmado por Sebastian Campos
sin contador', null, 'COMPLETADO','LatLng(lat: -23.69145, lng: -70.4171267)' )
				
[10/08/2026 10:24:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201411

10/08/2026 10:24:18 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '61964800' AND 
				serieinterna = 'KY2497' AND
				correlativo = 1;				
		
10/08/2026 10:24:18 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY2497'
		
10/08/2026 10:24:18 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2497'
				   AND estado = 1
				
10/08/2026 10:24:18 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2497'
				  AND rutcliente = '61964800';
				
10/08/2026 10:24:18 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2497', 3, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
10/08/2026 10:24:18 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201411'                    
				WHERE idllamado = 13707			
				TO ENVIO: micorreo@miempresa.cl, edinsonromero30@gmail.com, donkhapone@outlook.com


10/08/2026 10:24:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13707			
				
10/08/2026 10:24: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/08/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                
10/08/2026 10:24:18 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-rO0veBIVqxHGKd9CDG0eeuxdff46BTsSd+eMVJ2w2g+cpRGoNFX
10/08/2026 10:24:18 Detectado modo MULTIPART/FORM-DATA
10/08/2026 10:24:18 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786371858.png
10/08/2026 10:24:19 Envío correo: OK
------------------

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

10/08/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 10:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 10:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

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

10/08/2026 10:24:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:24: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/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:24:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

[10/08/2026 10:24: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/08/2026 10:24:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 10:24:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:24:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:24: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/08/2026 10:24:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                

10/08/2026 10:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13707
                and cs.estado_control = 1;
                
[10/08/2026 10:27: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/08/2026 10:27:27 - INPUT: {"rutTecnico":"21773342"}[10/08/2026 10:27: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/08/2026 10:27:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

)

10/08/2026 10:27:30 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 10:27: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;
                

10/08/2026 10:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:29:29 - INPUT: {"rutTecnico":"9291721"}[10/08/2026 10:29:29] 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/08/2026 10:29:29 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-5891
            [FechaLlamado] => 30/07/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-5891
            [FechaLlamado] => 29/07/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 29/07/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 29/07/2026
        )

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

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 29/07/2026
        )

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

10/08/2026 10:29:32 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:29: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;
                

10/08/2026 10:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
[10/08/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;
                

10/08/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13721
            [tipo] => OTRO TIPO
            [otrotipo] => MANTENCIÓN PREV
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2850
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:31:03 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:31: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;
                

10/08/2026 10:31:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13721
            [tipo] => OTRO TIPO
            [otrotipo] => MANTENCIÓN PREV
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2850
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:31:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13721
            [tipo] => OTRO TIPO
            [otrotipo] => MANTENCIÓN PREV
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2850
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10:31:10 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:31: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;
                

10/08/2026 10:31:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13721
            [tipo] => OTRO TIPO
            [otrotipo] => MANTENCIÓN PREV
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2850
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10:31:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10:31:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

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

10/08/2026 10:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

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

10/08/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

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

10/08/2026 10:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

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

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

[10/08/2026 10:32: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/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:32: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/08/2026 10:32:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:15 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:15 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

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

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 10:32:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0Kh6wEf7fQzTkPJDG-39fg3iyLwnU9xuvho5ctA5hgcyVuiTfAv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020500",
    "serieinterna": "EP2850",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "9474",
    "contadorColor": "16510",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13721",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACTAPUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMCAwUECQEGBQUAAAABAAIDBAURBiESMUETUWGBkRQicaEVIzJCscHR4fBSFjNVcpKyJDTS0\/FUYoKi4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADQRAAIBAgMECAUDBQAAAAAAAAABAgMREiExBBNBUSIyYXGBodHhFJGxwfBCUvEFIyQzcv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREARFxqqqGipn1FQ8MjjGSShDaSuzsih2uvNyt8dX2Jh7QZ4Sc+YPcpilqwjJSV0ERFBIVPe9Q09oAhY01FY\/AZC3nk8sqNfdQSRTfRdpYZ69+xLRkR\/v+C7WLTzLbxVdU\/wBor5d3yu34c8wP1WiikryOWVWU5YKXi+XuRGUuqq54qJKyGiYSHNgAyR4Hb812sF0r33CptFz4X1NM3i7Vv3ht8O8dFfPe2NjnvOGtBJPcFmtJMfWVNwvUh\/5mUtYCBkNG\/wCg8lN7xd0UcHTqQUW23e+fA06IiyO0Kvul3htjqeN4L5aiRrGRt5nJAJ+alVdVFRUslTO7hjibxOKzlhp571dX3+ta4RtJbRsPIN3GfL8cq8VxehhVqNNQhq\/JczUoiKhuEREAREQBERAEREAREQBERAEREARF45wa0ucQABkk9EB8yyxwxOlleGMYMuc44ACybO11jdGykOjtNI\/GCcGV37j0B8V7Wzz6ur\/YKJxZbYHAzzjbjPh+Xr3LUUlJBQ0zKamjEcTBgALTqLtON\/5ErfoXn7HSONkUbY42hrGjAaBsAvpEWZ2BVt+ujbRapanI7UjhiB6uPL05+SnyyxwQvmleGRsBc5x5ALK0TJdU3s184eLdSP8A+HYRgPcD+2T5BXiuL0OevUaWCPWenqWGlrUaK3+1VDQayq997jzAPJv5\/wDhXqLlU1EdLTSVEzuGONpc4+AVW3J3NIQjTgorRFJq2ukjoo7bTZNTXO7MAbkM68vT4ZVtbKIW6209ICD2TACQMAnqfXKz+naeS73Wo1BVx+448NK1wGwBxnyxjzK1SvLJYTGhecnVfHJd3uERZ3UtzmdIyyW8E1lUN3B2OBvXf4A+SrFXdjapUVOOJkS4SyapvTbbTEigo35qXg4Dznl8iB5laqKKOCFkMTAyNgDWtHIBQ7NaobPb2U0YBfjMj+r3dT+inqZO+S0KUabjec+s\/wAsERFQ3C5zTMp4HzSHDI2lzj4BdFnNZVhFDDbYXHt62QMAH9Of1wPVWiruxnVqbuDkXlHWQ19Kyppy4xv+yXNLc+q7qPQ0kdBQw0kf2YmBoOMZ8fPmpCh2vkWjfCsWoREUFgiIgCIiAIiIAiIgCzOqKyarqafT9G4CSr3ld\/S3OfyJPgPFXlyuENroJaubdsY2aDu49AFTaZoZp6ia+1zAJ6veIcy1hxj5AAeHxWkMukzlrtzapR4693voXNut8FsoY6SBoDWDc43cepPiVKRFm3c6UlFWQRFHrqyKgopaqZwayJuTn5D1QNpK7KDVNRPXVVNYaJxEk54pnDPus8cdOZPwHetDS00VHSx00DeGOJoa0Kg0nRumE97qmAz1byY8gZaz9\/wA71pVpPLorgc9BOV6r46d3D1Cy1\/nmvV1isFG4iMEPq3gg4bkfh3d+Fd3i5xWi3SVUhGQMRtP3n42CrdJWySlopK6pyaqtdxuLhggfuST6JHJYiKz3klSXj3e5eU8EdLTxwQtDI42hrQOgXRfEsrIYnyyODWMaXOcegHMrN2e4VFbVV18qah8VvjyyKLjPDsBvjG\/6lVUW7s1lUjBqPP6FxeLrDaLe+olcOPBEbD993QKt0xapY+1u1eAayrJdgj+7aSeXx\/DCh22nm1RdW3msbwUcB4aeE78RHU+fP4Y6LWqz6Kw8TGmt9PePRaevoERFmdYREQBZW38V61jUV5ANNQDsoyertxt\/wDY+iur5XC3WapqeIB4ZhmTj3jsFD0jQCisELi0CSo+tce8Hl8sLSOUWzlqdOrGHLN\/YvERFmdQREQBERAEREAREQBeOcGtLnEAAZJPRerL60vPstILdTvzPUDD+E7tZ3H4q0YuTsjKtVVKDmzjUvOr7uylhL\/oukPFLINu0d4fzlkrWtaGtDWgAAYAHRY62SaiZRsprZbGU1PHnD6gcL3HvOf0UoamrbVOae+0rGngLo5IT9vA5Y5c9un5rSUW8kclGtGN5zvd6u2XcahFldO19fX1FVeq+pbDRBpjaw7NGN9vh39Vf2650l1hdNRy9oxri07YPpzWcotHVSrRqJPS+hLWU1LK+73ik0\/TuIbxCSocPuj9hk+YWiuNbHbaCaslBLIm5wDz6Aeqy1iuFBazJX3eq4K6vHa47N5wwnbkCN8Z+GFaCfWMdpkm1Tbsnr3e5r4omQxMijaGsY0Na0dAOQX2qYausTjgV484nj8lVag1VTz0wobXUNMlR7r5j7rY29dz\/MKFCTehee00oRupJ9x7If7UanNOQHW+3E8XdI7lv5g48Ae9a1UNlnslntkcDLlRudjMjxI0F7vx+HgpMmprLF9q4RH\/AC5d+AUyTbslkVoyhCLlOSu83n5eBB1jWPFFDbKcnt614bhp34c78u\/YeqrauAXKqptMW9xFHSDNTMG\/eGc58\/mfBV9wv0Muoai5RESdlFwUmQcZ5Z35Yy4\/HHxU3T+oLNZqAB5nkqpjxTvazOT0G56Z\/FaqLjHJHDKtCrVeKVl9lw8X5G0hhjp4WQwsDI2DDWtGwC6LMf26on\/3NDWSdB7refdsSg1dVv8A7nT9XJnlz39GlZbuXI7\/AIqjon9TTosx\/aS9u3bpucDucXZ\/2p9NalcOFlhAd3udt+Kjdsn4qnwv8madeEgDJOAFmfpXVf8AgkP+r\/8ASrrvd9SviFuqKGGF1YC1oi955GRnk44543HepVNt6lZbXGKvhfyZIklm1fd\/Z4iW2mmcDI4EjtT+\/wAhute1oa0NaAABgAdFkLfFqygoo6Wnt9JGyMY3Lcu8Th3NSePWb9+zo4\/Db9SrSjfJNWMqNRxTlKMnJ65eRp0WYFLrN23t9Gzx4R\/0p7DrP\/FqP\/QP+2qYO1G\/xD\/ZL5L1NOizHsOs\/wDFqP8A0D\/tp2Gs\/wD1dH6D\/pTB2ofEP9kvkvU06KvtDbs2B4uz4HP4vcMQ6eKKrVmbxliV7WLBERQWCIoN3ucVptstXIRkDEbT993QKUruxWUlFOT0K\/Uuo47PAYYSH1jx7refAP6j+ir9HWdz+K9Vv1k0xJhLjkjmC4\/H+c1RWO1T6juz5qovMPEXzSd5\/pH85L9JAaxmAA1rR8AAtp2gsK1PPoYtonvp9VaL7nOqq4KKnfUVMojiYMucV+f3C4s1PqCna4Oho4zw5J3DBkuce7YeWF8arvv0tXdjA\/NJAfcI++ep\/T91UxF0cToo2uM8+GYAOQ3Y7d\/F+XitKdOyu9Tk2ra95LAuqvMt7rdZr1VQ2q2x9jRhwjhibsH74yfBayimtunWUlndIfaJQCeFpdxOO2T3ZPJUNJTxaUpW3C4hslwc0tpqcH7A6k+p9T3qXpuhfUSzalurgS4FzOJuzQPveQGAqys12fVmtBzU7vrvyR21OZbpdKGxQvw157Wcjm1v\/jJ9Fez2i3VTWieihk4Whoc5uXADkM81gKK8Szat9vbKyATy4cZNw2PljfrgLZ1Wq7LS5BrGyuHSIF+fMbfNVnGSskbUK1KbnOb48eXAhXq0aftlvlqJKFnG4FsbQ52XPI2AwVnbFZoTeYaO6Uxf7RAZGsJc0s54zgju+a9lu8t4vbK6e3z1VPAcxU8YyAPE47+fou0d2uNXqWS40lqe6WJnZPhJJ4Dy32GOS0SklY5ZzozqKSWV9LarizSnR9hIx7Djx7V\/6qi1Fa7DaoWwQU0klbLtHG2RxxnqR+XVTanUd\/pad889lZFGwZL3uOBvgfMrPvqbvEJL9NTRubUgxxzSkEszn7AznlnGyrBSvdvzNK86GHDCGf8AzouZ9aa06y71k3tDninhaOIs2Jeem\/dv6eK0D9B0IdmCsqo\/iQfyCh2WqvVjom0v0DLK0vLnObzOfgO7CmS61iNrdJHTuZXOdwMp3b79\/Tb89kk5uXRFGGzRp2qLPtuVd4kuempY2Q3+Wokdv2T25LRvvvkKxo9T3ChjgdfKQ9hUAOjqYgCMHHMD4\/sVnXULpL9HDdawB7iJKx73YDOvDnvxgbcs46Kz1NqanuFMLZbmB0TiA6QtwDg7Bo\/NWcb2VrmUarhimpYbaLU3TXBzQ5pBBGQR1UJt3onXU2xs2akN4iANh4Z71nrzqN9upYbTQe\/WCNscjx73AcYwOeXfzmrDS1hdaqd1TVjNbP8AaOclreePjncrDBZXZ6SrudRQhw1fLs7y8llZDE+WRwaxjS5zj0A5lZmxRvvl6nvs7fqoz2VM07gY67jxz8SU1HVzXWuj0\/b34c85qJAdmjf3T+PoFoqOkhoKSOlp2cMUYw0J1Y9rH+6rb9MfN+x3REWZ1hERAEREAREQFFfbpeKCpa23232qEsBc8Mc4h2Ttt4Y9VQP15c43lj6KBrhzDg4EfNbxcaikpqthbUU8czSMYewH8VpGUVqjkq0asneE7GQp9YXiq2ho6Jx7jKAfQuVVfbhdbzXw0NTTNjmj+zDHvkuAOeZzthau46asEdLJUzUvYsiYXOdG8jYeGcLKaatD7rVVElLWPopIMOjc3cjORjOR0W0XDrJHn1oV7qlKV79vsvqXFsfqS1ULKSnskXC3cuc7dx6k+8oN91LeTDJbqumjpHSNHHwH3i09OZ5qfcGalsVE6qN4imibgFr25cTy2yPzWSZFXXWqd2cclTO8lziBknxKmCTeJ2KV6k4RVOLlfk7aeBybC9rI5nR8UbnYAJxx4546+avqKC9W64TVAs7pap7cxue3IiBzuANvDw5L5tL2WOcVNztFY+aP+7c9pDWDvAIV\/Pri2yUMxg7aOfgd2bZGfextyJUzlLRK5ShSppYpzs+X8mPDK643J0lRTVNbKx\/17WA8WBtjYHHcrC+aqqLpTspIYTRwgYkY1+eLuHIbeC8sz6ivpxb21sNFBJIXVEjpQJJT3DJydunLnnmvp1loam418cVR2FHQQjM\/2+J\/j8Txcu5S7Xz4FIqpg6D62v1\/kqaNtHGRJXxVDo3Z4BFhvF5ldJamjqK5rmUHZ07B7sEbsuf\/AJnc\/wCbd68bbXywyVMcjI6duezdUOEbpMdGjO5+CnUN8joKRkFvpo6apk2lq5TxEd2NtvRWfYZRXCWS7tfz5HzU6nuUzOyjnNHEwcLIadvCG46Z5j1U3TeoLZZYJXTsrJKmc5kLQ0t2JxjJ8eqvLHp+hkxcKmrbdKhxB7Qu4mt8u\/4+gV1c7hDa6CSsnyWsGzRzcTyAWEpx6qR6dLZ6q\/uzna3j9zGah1LFeo4qKlgqGxcYdMHNHEcdABlc7tdpLlU26khtM8cdMeJtNg8UjRjGNs4wD3rQ6UpZWUtRdq3AmrndoXO2wzmOvLf8FAt889fdLrfoqczCBhipmt34iO7vOP8AcpTSyS0KShUklKUs5dnBZkC9auucsclCaX2F5GJNzx4IzjwyFzs+lby8R1kT46TiGQ6T7YHeBg4+RUnT2m6i5Vf0ndePg4uINeDxSOz1z0W6USmodGJejs8q73lZvsPy+OIPlnjqaSorbm+Qta1x90f+4kHc89uWyjQsdSXYxsjFTNG\/hja0ZaX57uoB9V+rGJhLncIDnjDnDYkfHzKq7Tpqgs8754Q6SVxPC5+\/A3uH6qVWVnciX9PldWfj+amQtmmr5UVj3lrqU5IfUSH3s9cdST3\/ADWoutY+wWenoqZz6irl+pgL3ZcT3+WR8lfLKUBN\/wBXS14dx0dCA2EjOC7+ZPoqYnN3eiNtzGgsMH0pZepZ6csgs9GTMQ+rmPFK\/n5Z\/m6uERZNtu7O6EIwiox0CIiguEREAREQBERAEREBVamp6iqsNRDTBzpHAbNGSQDnCx1LUVsF3ZLZaCaOQwNjkikjJbkAb+eAclfoyLSM8KtY5K2zbyakpWMlBpavuVY2rv8AViQAbQsPLw5YA+C09NSU9HF2VNCyJnc0YXZFWUnI1p0IU81rz4hR5qGjqM9vSQS5OTxxg59VIRVNWk9ShuenbDFRz1UtE1giY52Y3lnLfocfJUFk0gLnaG1UtVLA6UnhaGgggcjj45VxrOeSSlprVBgzVsobgnoCPzx6K\/paaOjpYqaIYZEwNHktscox1OB0KVSs1hyS837GMdoWvgmZJT1dPN2ZyBI0tz5YIUqQ3+Cn9mrLBSVlO0YaI2jAHgAdvRa9FG9b1NFscI9RtfnafmkotcEoe6lulqlzj3TxAHzwe7qub6ia61Bo5byXUsR4o5Ks4BPiN99yv04gEYIyCoVRZbXVD66ggcf6gwA+o3VlVXFHPLYZfpf2+noZ+GxXC7RCOqv8c9MAPcpiCMeWB0\/mFp6SjgoaZlPTxhkbByAxnxPiqKbRFvL+0o56ikk3wWPyBn47\/NcjS6stmfZ6uK4xDk2X7R9cH5qHaWjNaadF3lB96d\/c1KLMR6wNM8R3e21FG4594NJafXHyyryiutBcRmkqo5T1aDhw8jus3BrU6YV6c8k8yWiKNcK6G20MtXO4BsbSQM44j0A8SqrM1bSV2U+qbtJFGy1UJ4qyrPBhp3Y0\/hn9VZ2e2RWi3R0sYGQMyOH3n43KqdKUE0na3uvbmqqzlhIxws7x8fwA71pFpJ26KOainN72XHTsXuERFmdQREQBERAEREAREQBERAEREAREQBEVRqa6G1WaSVhxNJ9XFjoT18hk+ilK7sik5qEXJ8CrtgF71hVXEsJgoh2URPV24z\/uPmFq1U6athtdlhhkbiZ\/1km2CCenkMBWytN3eRls8HGF5avN+IREVDoCIiAIiID5exkjSx7Q5p5hwyCqO4aQtlYOOnaaKYHLXw8s\/wCX9MK+RSpNaGc6cKitJXMq12q7PhrmsukDeo3f68\/XP4L59luOp7lBJcKJ9DQ0p4uyfuZHZGRvjn34\/FaxFfHxtmY\/DXycm48vzM8a0NaGtAAAwAOi9RFmdQREQBERAEREAREQBERAEREAREQBERAFlbyfpXV1BbQcxUw7WUB2N+ePQD1WmmlZTwSTSHDI2lzj4AZWc0hE+rfW3qdgElVIWs8GjmB54H\/xWkMk5HLX6co0+eb7kadERZnUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHxLEyaJ8UjQ5j2lrmnqDzC8gp4qWBsEEYjjYMNa3kERCLK9zoiIhIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "MUNICIPALIDAD TALTAL",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "OTRO TIPO",
    "otroTipo": "MANTENCIÓN PREV",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:32",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:30",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 10:32:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:32:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020500

[10/08/2026 10:32:27] [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('69020500', 'EP2850', 1, 9291721, 9474, NOW(), 
				'08:00', '10:30', '10:32', 3, 'mantencion preventiva ', -1, 
				'', '','1','16510',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786372347.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[10/08/2026 10:32:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201412

10/08/2026 10:32:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201412'                    
				WHERE idllamado = 13721			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


10/08/2026 10:32:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13721			
				
10/08/2026 10:32: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

10/08/2026 10:32:27 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-0Kh6wEf7fQzTkPJDG-39fg3iyLwnU9xuvho5ctA5hgcyVuiTfAv
10/08/2026 10:32:27 Detectado modo MULTIPART/FORM-DATA
10/08/2026 10:32:27 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786372347.png
10/08/2026 10:32:28 Envío correo: OK
------------------

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:49 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:32: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;
                

10/08/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:49 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:32: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;
                

10/08/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:34:47 - INPUT: {"rutTecnico":"9291721"}
10/08/2026 10:34:47 - INPUT: {"rutTecnico":"9291721"}
[10/08/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;
                

[10/08/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;
                

10/08/2026 10:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:34:47 - INPUT: {"rutTecnico":"9291721"}
[10/08/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;
                

10/08/2026 10:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:34:47 - INPUT: {"rutTecnico":"9291721"}
10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

[10/08/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;
                

10/08/2026 10:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:34:48 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:34: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;
                

10/08/2026 10:34:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:34:48 - INPUT: {"rutTecnico":"9291721"}
[10/08/2026 10:34: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;
                

10/08/2026 10:34:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

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

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

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

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:34:49 - INPUT: {"rutTecnico":"9291721"}
10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

[10/08/2026 10:34: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;
                

10/08/2026 10:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:34:49 - INPUT: {"rutTecnico":"9291721"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13721
            GROUP BY l.idllamado;
            

[10/08/2026 10:34: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;
                

10/08/2026 10:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13721
                and cs.estado_control = 1;
                

10/08/2026 10:37:15 - INPUT: {"rutTecnico":"21773342"}[10/08/2026 10:37: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;
                

10/08/2026 10:37:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

)
[10/08/2026 10:37: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;
				

10/08/2026 10:37:18 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 10:37: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;
                

10/08/2026 10:37:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13722
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2767
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 10:37:20 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 10:37: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/08/2026 10:37:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13722
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2767
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

[10/08/2026 10:42: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/08/2026 10:42:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:16 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:16 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:16 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:42: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/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:42: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/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:42: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/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

[10/08/2026 10:42: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/08/2026 10:42:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:23 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:23 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:42: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/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:42: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/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

[10/08/2026 10:42: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/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 10:42: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/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 10:42: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/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

[10/08/2026 10:42: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/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 10:42: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/08/2026 10:42:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:42: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/08/2026 10:42:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42:30 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42:30 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 10:42: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/08/2026 10:42: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/08/2026 10:42:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:42:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:42: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:42:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44:14 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 10:44: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/08/2026 10:44:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:15 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:44:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44: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/08/2026 10:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:16 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:16 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:16 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:44: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/08/2026 10:44:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:44:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:44: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:45:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

[10/08/2026 10:47: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/08/2026 10:47:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47: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/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:47: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/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

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

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

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 10:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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/08/2026 10:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:47:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47: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/08/2026 10:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

[10/08/2026 10:47: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/08/2026 10:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 10:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47: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/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:27 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:27 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:27 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:37 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:37 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10: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;
                

10/08/2026 10:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10: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;
                

10/08/2026 10:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10: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;
                

10/08/2026 10:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 10: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;
                

10/08/2026 10:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10: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;
                

10/08/2026 10:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 10:47: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;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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;
                

10/08/2026 10:47:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 10:47: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/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 10:47: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/08/2026 10:47: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/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 10:47: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/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 10:47: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/08/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 10: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 10:47:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 10:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:06:50 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 11:06: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;
                

10/08/2026 11:06:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13722
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020500
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2767
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/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 = 13722
                and cs.estado_control = 1;
                

10/08/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 = 13722
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

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

10/08/2026 11:06:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:06:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:06:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:06:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

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

10/08/2026 11:06:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:06:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:07:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:07:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:07:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:07:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            
=========================================
FECHA: 10/08/2026 11:08:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BrrTY.hc3PXrWKDgYIG9uEjlRbGuZz4Y-gZBUAeaRl7Sm+WYHCH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020500",
    "serieinterna": "EP2767",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "51094",
    "contadorColor": "23719",
    "contadorScanner": "0",
    "detalle": "Mant preventivo, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13722",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGAPIDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABDEAABAwMBBAcFBgQEBQUAAAABAAIDBAURBhIhMUETUWFxgZGhFCIjscEVMkLR4fAkJTNDFlKCknKiwtLxBzZEYnP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQMCBAMIAgIDAAAAAAAAAQIDESESMQRBUWETcdEiMkKBobHB4ZHwFCMzNFL\/2gAMAwEAAhEDEQA\/APsyIiAIiIDPV+saGLMNvDq2pcdljY2nZ2uW\/n4KOW6tqJARX0VI6TLmwOwXAdX3TnC0NNQ0lGXmmp44S85cWNAyqCTE\/wD6hxZ\/sUu7f2H\/ALlbFrkjDUjUw5y3aWMHV121DZcvutGyrpx\/dg\/D39Q7wFdNukNZapqy3SMnLGOLRg\/eAzgjiFOc0OaWuAIIwQeayNytk+m603a1jNG84qafkB3dXy7kVpdmSl4lFXveP1XfuX1huRu1oiq3ACQkh7QeBB\/LB8VYrJaDqY3R19NFtBjZRIza44O7\/pC1qjNWk0W8NUdSlGTCIoFberbbsiqq42OH4Adp3kN6ik3sWylGKvJ2J6LMS6y6d5jtNtqKxwONrZIHfgZPnhcez6uuW+Woht0Z\/CzBdjwz8xwUtD54KP8AJi8QTl5eppZJY4WF8sjWNHFzjgKrqdUWWlztVzHnqiBfnxG5QI9E0z39LcK6prJM5JLsA9\/E+qtKbT1opB8KghJxxe3bPrldtBcxq4iWyS88\/YqzrL2jdbbTVVRzjhjHkD2+S4dcdWVO+ntMMDTzkIyPN30Wl9yNhO5jWjJ5ALK193rNQVTrXZMtg4TVe8DHPHZ6nuXY2eyKaqlBe3NtvZKyFjvN4q7+6jqJIp442HpeiaNlh\/4ufV4rWKFarVTWijbT07e17zxeesqaozabwaKEJwhabuwiIoF4REQBVVJem1l9qrdFHtR0zRtSg\/izvH08D1rrqe5T2uzuqKaRjJdtrW7QznPV++SzlkffLHTOlFldUtqSJXPDsvcMbhuz153jO8qyMLxbMdavpqKC23eLm6RZpmtqSN2xXUVVSP5hzcjPPqPorijvFuuAHstZFIT+HOHeR3qLhJbouhXpzdoyJqIiiXBERAEREAREQBZi1ATa5us5xlkYYAP9I\/6Vp1kLfX0lBqy8SVdQyFpxguPHu61ZDZmXiGlKF9r\/AIZr11c1r2Fj2hzXDBBGQQs5PrSmfL0Nso566UnAw0tafr6LyEGqryP4ieO2U7xvbGPf+efUJofPB18TB4gtXl67EK2updM6sraeeURUrossc7PPBA7eY8FYz6xZM4xWihmrZcbiGkAeHH5Kp+wqSg1hQUMpfVRyxbcnS\/idhwHh7o3LcQwxU8YjgiZEwcGsaAB4BTm44byZuHjValFPSk33foZk2nUd596417aKFzcGGDOe4j9Sp9FpK0Uh2nQGpfnO1Odr04K7RVub5GqPDU07vL75OscbImBkbGsaOAaMAKDdb1SWeNj6lzvfcAA0ZI7fRe9wrobbQy1c7gGxtJAzjaPIDtKwVbSTVWn5b9cHl1TUStbEDuAZ2DwPh3rsIasshxNd01aG9r+SPokb2yxtkb914BHcVDud4orRD0lXMASPdjbve7uH14Kik1LPURxW6xQGoqQxofLs+4zdg\/8Ak7u9SrVpZkM3tt1k9trHbzt72sPZ1ppSzIePKpikr9+S9SAIrxq5wdNmgteQQ0fekH17+Hfhaiioae3UraaljEcberiT1nrKkKPW1tNb6Z1RVSiONvM8z1DrK45OWEWQpRp3nJ3fNv8AuD3JAGScALlYerluepqSsrHF9JbaeN742cDKQM7+vh4cuav9JvfJpqke9xc47eS45J99y7KFlcjT4jxJ6UsWun1LlERVmkIiqtQ3htntxkbvqJPchbjOXdfgupNuyIzmoRcpbIqa1h1JqhtGMuobcczY4OfzB8seBWrVTpy1m12pjZMmeY9JKXccnke4euVbKU3yXIpoQaTnLeWX+F8jq+NkrdmRjXt6nDIVLW6RtNWCY4TTScnQnGD3cP33K8RRUmti2dOE1aSuZV9VfNMta2oYLlQNGBI0YewDr\/XPetBQXGludMKiklEjOB62nqI5KS5oc0tcAQRgg81kLhSnSl2iuVC13sdS\/YmhHBp7PXHUfJTVp+ZmlqoZveP1X6NgiIqzYEREBFrbjR25gfV1DIgeAO8nuA3lUj9XPq3mKzWyescDjbcNlo6j3d+F702j7XFO+eoElW9zy4dK4kDfuHb45V4xjI2BkbQxrRgNaMAKfsLuZrV57vSv5foZo23U9031twZQRn+1T\/eHiP8AuKraKx0VBqr2Cui9oikjDoZJTgOdz3DdxDhg54LcqsvdkhvFMAXdHUR74ZRxaf2ApRqctkVVOFVlJZa68+xPgp4aaMRwRMiYBgNY3AXckAZJwAsvHV6ttzehmoYq8D7srXbz5Y+WVxJRakvnwq17LfSOGHsj+84cxxPqVzR1ZZ\/kYtGDv0tb9FQ2vbctfRVEbtqMTBkZ6wBjPjx8V9BWPrKGG26jsVJBnYjBGTxcc8Stgu1GnaxDhIyjrUt7\/gKPW11PbqV1TVSCONvXxJ6h1lR7ne6C0Rl1VMNvGRE3e93h+axVHY71qOZk9dLIyEDdLNxx\/wDUfsLkYXy8IlX4hweimry+3mda6\/tvN0bLUwvkpoj8CkbxkOeZ7efkOtd759t1UNN9o7FNDPIGQ0zdwb2kdmefotjatP2+zjap4tqXGDK\/e4\/l4Kr1KBNqKxQgb2zF5zjhtN\/Iq1TWqyRjnw9RU3KpLLtt58y\/oqGmt9O2ClhbGwchxPaTzUhFT3rUVNafgMHtFY7AZAzecnhnq+ZWdJyZ6cpQpRu8JEq63eks9KZql+8\/cjH3nns\/NUFBbKzUdWLleWFlKDmCm6xyPd8+5e9q07NU1Qu18d01S7eyE\/dj6s93VwWmU7qOFuUKEqz1VMR5L19Ck1XUtodNTsjwzpAIWAbhg8R\/tBU2y0vsVmpKc8WRDa7zvPqVSar\/AI662q0tcMSSdJIDv3cBu7tpalHiKR2HtV5S6WX5YREVZqPOaaOnhfNM8MjYMuc47gFl7PE\/Ul3fequPFLAdimiJ4EYOf3z7l3vtRLe7szT9I8tjadureAMADB9PmQtLTwR0tPHBC0MjjaGtA5BWe6u7Mj\/3VLfDH6v9fc9ERFWawiIgCz2tv\/br\/wD9WLQOcGtLnEAAZJPJZKd7tV30UzCTa6Q7T3AbpHbxx8wOzKnBZv0M3Ev2NC3lhGoowRRQAjBEbfki9QABgDACKBoSsrHKIiHQiIgCIiAIuksscMTpZXhjGDLnOOAAs1UanrLjUOpLBSGYg4NS8e63t\/8APkpRi5bFVStCnvv05nlqKtgpdXW2SodsRwRGRzsZ\/wA2Bu55HquXXW+6gcWWmA0dId3tEu5xHf8AlnvUG2Wt9VrGWnu0ra2SCLpHl2S0n3cAdg2uGPBblrQ1oa0AADAA5K2TUbLcxUYTquTbsm\/n\/JR2vSlHQSCoqSayqzkyS7wD1gfUq9RFS23ub4U4U1aKsFntRUFc6vornQwCd9LnMe1gnf1K\/e9kbC+RwY1oyXOOAFT1mrbNSZHtPTuH4YRtZ8eHqpQvfCK6\/huFpuxD6XVN2aImwx2uMnD5Ccv8P34qwtOnaO1PMzdqeqdnank3uJPHHUqz\/E13uLR9kWV5aeEs33T8h6rn2LV1aPjV8FGwne2Me8PIfVTadrYRljKF9STm+v8AbI1CLJVlgudJRzVUup6sCJheQNocBw++rbTlbUVVgiqa0nbw7L3DGWg8VBxxdM0wrNz0SjbnyK2h\/mGvKyoGDHRxdG08cO4f9y1KzWiYj7BV1cg+JUVDsnIOQO0dpctKlTe3Q5wq\/wBep822FS6jvLrbTspqYF1bVe5AAM4OQM+u7tVnWVkFBSSVVS\/YjjGSfoFndO0s92rpNQXBgDne7Txlu5o\/zD1HmUiviYrTd1Thu\/ouvoWWnrK20UPxMPq5femk4nJ5Z6h88lW6Iottu7LoQjCKjHYIirrhfbbbGu9pqmbbf7TDtP8ALl4ok3sdlKMVeTsWKh3K60dpg6arlDf8rRvc7uCoGXi\/X1xFqpG0lMf\/AJEwyfDl5A96lW\/SVPDP7XcpnXCpJBzJnZB7s7\/HyU9KXvMz+NKp\/wAS+b29WQibvq07gbfbD\/ulH1+XetJb7fTWylbT0sewwcTzceslSQABgDAC5UZSvhbE6dFQepu8uv8AdgiIol4REQBEXBIAyTgBAcqpvGo6Gzjo3kzVB4Qx8fHqVdc9Ry1tR9l2D41Q\/c6dv3WDng\/Xh1KbZtNUtrPtEp9prHZLpn78E8cdXfxViilmRldWVR6aXzfL5dWVsdpu+o5Gz3mR1LSA7TKVgwT39Xed\/ctNS0lPRQNgpomxRt4NaF7Ksr9Q2u3ZE9WwvAz0bPed6cPFcbcsIlGFOitUnnqyr07\/ABGpr3U8dmQRg+JH\/SFpiQBknACwGnrldmRVDbZbumfUTFzpHZ2GbuHL5q2GnbxdBm83V7WOG+CHcPHG70KnOOcszcPWfh2hFt57LfqWVw1RabdtNfUCaUD+nF7x8+A81WtvWorqf5baxTREDEs\/zGcZ8AVcW7T9stZD6amHSAf1Hnad68PBWSjeK2Rf4dafvyt2XqZhuk6iumbNe7lJU7PCJm5o8d3oArmksttocGCjiDx+Nzdp3md6nIoucmWQoU4O6Weu7CIs9qC+TRTNtVr+JXTHZJH9rP1+XFcjFydkSqVI046mRr7VS3y4tsFDksY4Oq5BwABG7w+eFoo6OKG3iiiGxE2Pox1gYwodjssVmpS3PSVEu+aU79o\/krMkAZJwApSa2WxXSpvM57v6LoQbLa22e3Mo2ymXBLi8jGSexT1UVeqbNRktdWNkcM+7EC\/1G71VFX6yluLDQWujlbLUe4173Ydv6gOHfncuqEpO5B8RQpR0p7clk9q979UX5tthcfYKM7U7gdzz+9w8StVmGmhAJZFGwYGTgABZC2WDUlNSiCKqgoI3HLwMOeT3gfVTWaLhmPSXO4VNZL17WAOzfk+qlJR2vgqoyq5loy+uPl1LGr1NZ6NpL62ORw\/DEdsny3DxVZ\/ia53LLbNaHluRiac4GO7h6lWlJpuz0e+KhjceuT3z6qzAAGAMAKN4rZF2ivP3pW8vVmXNk1DdG\/zK7CnYR\/SgHLqOMZ9VYW\/Stpt5DxT9PIPxze95DgFcouOcnglHhqad2rvq8hERQNAREQBERAEREB0lljhidLK8MYwZc5xwAFkaivqdVTyU9PKaS1RH4s7jjb7P08StNdLfHdLfJRyuc1smN7TwIOR3qkg0LbY3NMs08uDnZyA0+isg4pXe5j4iNWbUYr2eebHrDddN6fpzBTTx5A97owXuee0jnx5qMdUXO4kts1oke3OBLNw4eQ81cUmn7TQkOgoYtobw542yD3nOFYgADAGAEco9LnVSqtWclFdl6+hmG2K\/XIfzW7dFGf7UHHtBxgfNelTp202ez1dRHTiWVkD8STHaOcbt3D0WkVHrGfodNzgHBlLWDzBPoCuqUm0jlSjTpwlNq7S3eTnR8Ji03TEjBkLn\/wDMcegCu1Cs8Ps9mo4iMFsDM9+N\/qpqhJ3k2X0Y6acV2QREUS0IuCQBknACy2otWRwMNHa5BNUP90yM3hnd1lSjFydkVVasKUdUmSb9qF8En2ZammevkOydkZ6L9flzUegjtmlKd89fVtlr5d8mDtOz1AfU8VVWTTt8la9zpX2+OU\/EkcMSu7OseY8Vo6HSNponCR0LqmQHO3O7a9OHorXpitNzDDxqsvE0+V9l8ufmQBfL7eW\/ye39BCT\/AF5scOzO7yyuf8KV9eWuvN4kmbkExR\/d8M7vRagAAYAwAvGsq4KClkqah4ZHGMk\/Qdqhrfwo0Ph01erJv6L+Clr6ezaYtrqmKhgMoOIg\/wB5znd5yd3Fc6Ys76eN1yrm7VbVe9kjfG08uw\/oFDt1JUalurLzWs6OjhOKaE79rHPz8+4LWLsnZW5kaMFOXiWtFbevoERFUbQiIgCIiAIiIAiIgCIiAIiIAiIgCIiALLa0zVG3WyPJfUT7WBxGN2f+Y+S1Ky0Dxc9dTSP3xW6ItbtEYDuGfU+Ssp4d+hl4rMFD\/wBO3qagAAYAwAuVRV+rbbSSdBAX1s5OAyAZGe\/8sqGXaru33Wx2yE5zke\/j1PyXFB7vBKXEQvaPtPt\/bGgrLhR0DA6rqY4QeG07ee4c1RS6xFTIYbRb56uQg4cRho\/TyXrRaNt8DulrHPrpydovkOAT3Z3+JKi3C4S1s\/2Hp1jI2t3TTRjZbGOYGPp4KUVHlkpqVKyV37PZZb\/BRVtXfb3WttzptuQnD4IdzGf8RG447zhbOx2CmstMA0CSocPiSkbz2DqC9LPZaSy03R042nux0kjuLz9B2KxSc74Wx3h+G0PxKmZfYIi4c4NaXOIAAySeSqNp0mmjp4XzTPDI2DLnOO4BZQsqNZVwcduG0U7t3Iyu6\/3wXFXJNq67Ckpnuba6YgyyDd0h7Pp5rWQQRU0DIIWBkcY2WtHIKz3F3Mf\/AGHb4F9f0do42RRtjjaGsYA1rQNwA4BdkRVmwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA85pWU8Ek0hwyNpc49gGVldMW1t0stfLVF7RcJjtFhw7AOePeSrHWNV7NYJGNxt1DhEB153n0Cs7ZRtoLZT0rW7PRxgEdvM+eVYnaN+plklUr2eyX3\/AEedts1BaY9mkgDXH7z3b3O8VNc4NaXOIAAySeS6TTR08L5pnhkbBlznHcAsnLV12r6p9JRE09rjdiSbBBk7P08+QXEnLLJTnGilGKzySO9fd6vUVU+02U7MGPj1RyBjmB2fPuWgtVqprRRtp6dva954vPWV60NDTW6lbTUsYZG3zJ6yeZUhJS5LYUqTT1zd5fbsgiIoGgLJ3qvnv9d9h2tx6IH+JnG9oHV3fM7l6327VNdXiw2l3xXbp5hwYOYyPXy4q5tNqp7RRNpqdu\/i9+N7z1lWJaFd7mSbddunH3Vu\/wAL8nrb6CC20UdJTtwyMcebjzJ7SpKIq9zUkkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLpLI2GJ8rzhrGlzj2BAZm7\/zXV9BbhvipR00uDz44Pk3\/AHLR1VXBRU76iplEcTBlzisrp6rhgp7hqS4FsZnkLW4OTjjsgd+B\/pXamoqrVtS2vuLXQ25h+DTgn3+3P18ldKPJ7I8+nVdm4q8pZ+Wyucfxes6n8dNaYXf6pT+\/LtWrp6eKlgZBBGI42DDWt4BcxRRwxNiiYGMYMNa0YAC7quUr4WxqpUtHtN3k92ERFEuCz+pL5JSlltt3xK+o3DZ4xg\/U\/qpGor39kUjWQDpKyc7MMYGfHH7yV0sNi+zw6srHdNcJ98kjjnZzyCsiklqZlqzlOXhQ+b6fs97HZIbPTYz0lTJvmlO8uPUOxWiIoNtu7NEIRhFRjsERFwkEREAREQBERAEREAREQBERAEREAREQBERAFRawrhR2CVgcA+oPRNGeR4+mfNTbveaSzUxlqHZeQejiB955\/fNY6j9svurab7TaBsjpehPBrcZAx27uPWracfieyMXE1kl4UfeePK5K0\/pyouLKepuoIpIWYp6c7toHfkjkCd\/We5bZrQ1oa0AADAA5LlFCUnJl1GhGjGy\/kIiKJeFBu91gs9C6pmOTwjZze7qXtXVsFupH1VS\/ZjYM9pPUO1Zuy0FRf6\/7burfhA\/wsB3tx19w9TvU4x5vYz1ajTUIe8\/p3PfTlpnqJje7sC+qlOYmuH9NvXjl2dQ71pURclLU7llKmqcdKCIiiWBERAEREAREQBERAEREAREQBERAEREAREQBVd8vkFlptp3xKh+6KIcXHrPYl7vcNmpwSOkqJN0UI4uP5KFZLJMag3e7npK6Te1h4RD8\/kpxirXZmqVJOXh09+b6fs8bTYZ6ip+2b84STkbTInj3Yx2jhu6uXemlg6uul0u724EsnRxk9Q5b+wNVnqSt9gsNVKDhzmdGzdzdu\/Vc6dojb7HTQPaGybO28DrO\/wDRScm4tsqjSjGrGC5Zfd7epZoiKo3BeNXVwUNM+pqZBHEwZJK4rKyCgpJKqpfsRxjJP0Cy9PRVWrqoV1ftQ21hPQwA4L+39fAKcY3y9iirVcXpgryf9uzikjqNX3FtZVxOjtlO74UZP9Q9vX2+XWte1oa0NaAABgAcl1iijhibFEwMYwYa1owAF3XJSudpUtCu3dvdhERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqm+X6GzQhuwZqmT+lEAd\/aT+8rvfL3DZqYOLekqJN0MQ4uP5KFYrJO2pdd7qekrpt7Wkboh+ePJTila7M1SpJy8OnvzfT9nFkskxqDd7uekrpN7WHhEPz+S0KIoyk27stp04042RR6koai4ut9PHAZaf2kOmII90DcDg8RvPl2q8REburHYwSk5dQoN1u9JZ6UzVL95+5GPvPPZ+a8r1caqhjhjpKR801Q4sa8DLYz1n98iq+2aYcahtwvU5rKvcQ0nLWfn8lJRVrsqqVJt6Kaz15Ij0tsuGpKmOuvI6GjbvhpRuz3\/nx6sLUsY2ONsbGhrWgBoHILsi5KVydOkqfdvdhERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKeKzSP1FNdax8crWtDKZgH3B1nPPj5lXCIpSdyqlFJO3NsIiKJaEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "MUNICIPALIDAD TALTAL",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:08",
    "ubicacionGPS": "LatLng(lat: -25.4075072, lng: -70.4864746)",
    "horaLlegada": "10:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 11:08:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:08:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020500

[10/08/2026 11:08:15] [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('69020500', 'EP2767', 1, 21773342, 51094, NOW(), 
				'08:00', '10:32', '11:08', 3, 'Mant preventivo, limpieza', -1, 
				'', '','1','23719',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786374495.png', '', null, 'COMPLETADO','LatLng(lat: -25.4075072, lng: -70.4864746)' )
				
[10/08/2026 11:08:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201413

10/08/2026 11:08:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201413'                    
				WHERE idllamado = 13722			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


10/08/2026 11:08:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13722			
				
10/08/2026 11:08: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

10/08/2026 11:08:15 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-BrrTY.hc3PXrWKDgYIG9uEjlRbGuZz4Y-gZBUAeaRl7Sm+WYHCH
10/08/2026 11:08:15 Detectado modo MULTIPART/FORM-DATA
10/08/2026 11:08:15 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786374495.png
10/08/2026 11:08:16 Envío correo: OK
------------------

10/08/2026 11:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

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

10/08/2026 11:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:18 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 11:08: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;
                

10/08/2026 11:08:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11:08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13722
            GROUP BY l.idllamado;
            

10/08/2026 11:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:18 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 11:08: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;
                

10/08/2026 11:08:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13722
                and cs.estado_control = 1;
                

10/08/2026 11:21:21 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 11:21: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/08/2026 11:21: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/08/2026 11:21:21 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

)

10/08/2026 11:21:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:28 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11: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;
                

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:28 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

[10/08/2026 11: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;
                

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

[10/08/2026 11: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;
                

10/08/2026 11:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11: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;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

[10/08/2026 11: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;
                

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:31 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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;
                

10/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 11:21:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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;
                

10/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:41 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11:21: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;
                

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

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

10/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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;
                

10/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

10/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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;
                

10/08/2026 11:21:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:21:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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;
                

10/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 11:21: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/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21: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/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11:21: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/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13719
                and cs.estado_control = 1;
                

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/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 = 13719
                and cs.estado_control = 1;
                

10/08/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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/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 = 13719
                and cs.estado_control = 1;
                

10/08/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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

[10/08/2026 11: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;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

[10/08/2026 11: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;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

[10/08/2026 11: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;
                

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:45 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

[10/08/2026 11: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;
                

10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11: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;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

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

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

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

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21: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/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11:21: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/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

[10/08/2026 11:21: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/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11:21: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/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

[10/08/2026 11:21: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/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13719
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/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 = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

[10/08/2026 11:21: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/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

[10/08/2026 11:21: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/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/08/2026 11:21: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/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 11:21: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11:21:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:21:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:57 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11:21:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:21: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/08/2026 11:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 11: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 = 13718
                and cs.estado_control = 1;
                

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

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:22:22 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

[10/08/2026 11:22: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/08/2026 11:22:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                
[10/08/2026 11:29:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

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

10/08/2026 11:29:50 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

)

10/08/2026 11:29:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:29:54 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:54 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

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

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

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

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

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

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

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

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

10/08/2026 11:29:54 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:54 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

10/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

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

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

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

[10/08/2026 11:29: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/08/2026 11:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:29:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 11:29:56 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:29:56 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:29: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/08/2026 11:29:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:29:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:00 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

[10/08/2026 11:30: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/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30:00 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:30:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 11:30: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/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

10/08/2026 11:30:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:30:01 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:30:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30: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/08/2026 11:30:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:30:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

10/08/2026 11:30:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

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

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 11:30:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 11:30: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/08/2026 11:30:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 11:50:37 - INPUT: {"rutTecnico":"20988335"}[10/08/2026 11:50:37] 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/08/2026 11:50:37 [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] => 06/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => WF-M20590
            [FechaLlamado] => 03/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 03/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [RutCliente] => 61308000
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 03/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [RutCliente] => 61308000
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 03/08/2026
        )

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

10/08/2026 11:50:38 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 11:50: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;
                

10/08/2026 11:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 11:52:22 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 11:52: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/08/2026 11:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 11:52:35 - INPUT: {"rutTecnico":"20988335"}[10/08/2026 11:52: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/08/2026 11:52:35 [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] => 06/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => WF-M20590
            [FechaLlamado] => 03/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 03/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [RutCliente] => 61308000
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 03/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [RutCliente] => 61308000
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 03/08/2026
        )

)
[10/08/2026 11:52: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/08/2026 11:52:36 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 11:52: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/08/2026 11:52:36 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

10/08/2026 12:00:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

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

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

10/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 12:00:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 12:00:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 12:00: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/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00: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/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 12:00: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/08/2026 12:00:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 12:00:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00: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/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 12:00:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[10/08/2026 12:00: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/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

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

10/08/2026 12:00:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

[10/08/2026 12:00: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/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 12:00:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 12:00: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/08/2026 12:00:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 12:00:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 12:00: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/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13725
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2491
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 12:00:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                
[10/08/2026 12:15: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 12:15:11 - INPUT: {"rutTecnico":"21773342"}[10/08/2026 12:15:11] 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/08/2026 12:15:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

)

10/08/2026 12:15:13 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 12:15: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;
                

10/08/2026 12:15:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13726
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16524375
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2248
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 12:15:18 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 12:15: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;
                

10/08/2026 12:15:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13726
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16524375
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2248
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 12:15:20 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 12:15: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/08/2026 12:15:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13726
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16524375
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2248
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 12:15:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:15:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:15:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13726
            GROUP BY l.idllamado;
            

10/08/2026 12:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13726
            GROUP BY l.idllamado;
            

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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 = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:15:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:15:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:15:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12: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 = 13726
                and cs.estado_control = 1;
                

10/08/2026 12: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 = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

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

10/08/2026 12:16:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 12:16:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-UsDwnEPJ0vPo0YnFsmz8gpeG.INhs.-EyBHDXpGXIiEKnN6Ix-h
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "16524375",
    "serieinterna": "KY2248",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "322283",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantencion preventva ,limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13726",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACGAOIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA9EAABAwMBBQUGBAQFBQAAAAABAAIDBAURBhIhMUFRE2FxgZEUIjKhscEVI1LRMzRC8CRDsuHxBxYmRJL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAgECAggFBQEBAAAAAAAAAQIDERIxEyEEMkFRYXGB0SKRseHwFCMzQsGhUv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREARFHrq+mt1M6oqpRGxo58T3Acym5DaSyyQqa66noLW8wZNRU5wIYt5z0J5fVVZrL1qgFlCz8PoDuMz\/if4f7equbTp632gB0EW3MBvmfvd5dPJaaVHrHLxZ2\/xLC73\/iKprdVXc9rtstcJHusI97z5+uPBXdqpq2lpOzrqsVUmch+zg4U5FVyzyNYUqD1NtvzCIiqbBERAEREAREQBERAEREAREQBERAEREAREQBERAERUF81GaOYW+3x+018m4NAyGePfjl6qVFt4RnZZGuOqRKvV+prPEAfzal+6OBp3uPf0Cq6Kw1d5qRcr+TgHMVINwaO\/wDbj16KXZNNijm\/ELhIaqvk3lzt4Ye7v7\/RXyvqUeUTBVyteq3bsXufLWtYwMY0Na0YAAwAF9IizOsIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALI+2VOpdRtio55I7fRHadLE4tLjg\/XeB3ZUrUl1mmlbY7WS6sn3SOaf4beYzy3fJWlltMVnt7KaMAvxmR4Hxu6rRfCsvc45t3WaF1Vv7e5YIiLM7AiKl1DfDbI46amb2ldU+7C0cs7snz4KUm3hFJzjXHVI4Xy+T+0fhNob2tdJuc5vCIfv9FKsWn4LPFtuxNVvH5kx47+IHd9V86dsn4RSufO4SVk52pZOJ8Mq5V5SS+GJjXW5PiWb9i7vuERFmdIREQBERAEREAREQBERAEREAREQBERAEREAVDqXUcdngMEDg6sePdHEMHU\/ZSb9fYLJSF7iH1Dweyj6nqe5ZDTFqlvt1fX1pMkUb9qRzv638QFrCCxqlscPSL5alTV1n\/wANDpKzvpad1yq8uq6v3su+JrTv9TxK0aIqSk5PLOqqtVwUUERFU0I1wrYrdQy1cx92JucZ+I8gPEqh01QS11VJf7g3Ms5Jp2kn8tu\/\/gd3iuV0J1JqCO0xnNJRkvqHNcRl3DHDiOHmVq2tDWhrQAAMADktOrHHazkX71mr+sdvF9\/oeoiLM6wiIgCIiAIi5zTw07dqaVkTer3AD5oG8HRFAffLSx2y65Uue6UFcXansjMZuEe\/oCfoFbS+4zdta3kvmWqKoZqqxvcWivYCP1McB6kKRFfLVN8FxpiehkAPzTTLuCure0l8yei+I5Y5W7UcjXjOMtOV9qpoEREAREQBERAFAvN0ZZ7c+rfG6TBDWtaOJPDJ5DvU9RLnWwW63y1VQA5jB8OR7x5AZUrcpY8QbzgwdVSVtbWRRzkzXOv94gjdBFy3cjx8B4re26ghtlDFSQD3YxvON7jzJVNpW2v2ZbzWDaqa07bS5vwtPTx+mFo1pZLPI5OiU6VxHu\/p99wiIsjuCg3i4Ntlqnqyd7G4YOrjuHzU5ZXUGbzqGjsrH5hj\/NqAOX++P9StBZfMwvm4Q+Hd8l5sm6SthoLQJpQfaKo9pIXccch9\/Mq9XjWhrQ1oAAGAByXKoqqekj7SpnjhZ+qRwaPmjbk8l4QjVBR7EdkWeqtaWuI7FN2tXIfhbGzAJ8T9sqOLjqq559kt8dDGeD5uI9eP\/wAqeHLt5GT6TXnEeb8OZqCQBknACr6vUFpotoT10W004LWHacD4DKpxpGqrSXXa8zz5OezjOAD3Z3fJWNLpWzUm9tE2V2MZmJfnyO75KcQW7I13y6sUvN+xAk1rDK90dtt9TWPHRuB47sn5Lz2rV9a7MVHT0cZ4F+CQO\/JP0WmjjZEwMjY1jRwDRgBfSaktkODZLrzfpyMx\/wBv36rOa6\/vYP0wAgH02V9xaHtjX7dRNUVDjx2n4B9Bn5rSIo4kif0tXas+fMp26TsbRgUDfOR5+67N07Z25xboN\/VufqrJFGqXeaKmpbRXyK99htD2hpttMAOkYB9Qo0uk7HLxoQ09WPc36FXKJql3h01veK+RmZNJzUcgnslxlppAMbEjssI37uHDPUHmvINR19uqWUt\/o+xa44FSz4Cc+nDzHRadR62ip7hSvpqmMPjeN46d471bXnrGT6Po51PHh2fnkdmua9gexwc1wyCDkEL6WTt0tVpm7x2msqO1oqj+WcR8JzwJ5fMb\/FaxVlHBrVZxFzWGt0ERFU1CIiALK3cO1FqCG1RHNJSHtKk7wCc72+ODjzPRW9\/u7LPbHzbQ7Z4LYW9XdcdBxUfS1qfbrZ2s+TVVR7SUnee4H1z4krSPwrUctv7k1Utt37epdNaGtDWgAAYAHJeovCQBknACzOo9RU1fqu00JDBP7RIf6IMP+fBVwuWpb0Gm30bbfTu\/zpSCSPMcPAeauoPdnPLpFaeFzfcuZpKqrp6KEy1MzImDm9wGe4ZWDs+ooqatra59HJUV1U\/3GR8Gtzwzx6cjwC+9Q2FtvpI31FdLWV9TKGs2jgY58c9w48wtnbbbT22jihhiY1zWBr3tG9x5knnvV\/hjHvycz4t1uOrp9dyjzqu7HGIrXAT4vwfU59F0h0fQsPtF0qpayTGXPlfgevH1K0iw+p7vPdBV0dGWijpAHVEhPxnIAA8\/XCRcpPC5FroV1R1TzJ+Ptsa6ioqKjhHsVPFExwG9jcFw5ZPE+alKp0vCYNN0TDnewu3j9RJ+6tllLc663mCeMBFyqaiOlppKiZ2zHG0uce4Km01e6q9SVkkkcbKdjwIgPiGeR67lKi2siVkYzUHuy+RcaqqgoaZ9TUyCOKMZc4jOOXJRbPeIL1Sunga9oa7ZcHcj\/wAYUYeMkucVLTnmWCLwkAZJwAsZdNXVU9zhp7QQIu02BIWbQlcd27uGQpjFy2KXXwpWZG0RFwrKynoKZ1TVSCONnEn6DqqmraSyzuig2m6wXij9pp2vazOyQ8AHPNfN4vNNZqXtp8ucfgjbxcfsO9TpecFeJDRrzyO9dX01tpnVFVKI2N9SegHNUdj1NVXu7ywx0rWUjG7W0SdodMnhknl3His3cxXXWqgdWe9WVZDYKcHAhYeBI5Z+xJWspfw3SVpjhqZ2CR2S4ge9I7uHQcFq4KMe9s4Y3ztsz1YLcauoXVVldPEPzqQ9q13MAcflv8lYWivFytVPV7tqRnvAcnDcfmusM0FxoRIw7cM7OY4gqh0Y98EVda5Tl9JOQMnkd27zBPmq7wx3G+VG9NbSX0+xpkRFmdQUevFWaKX2Axipx+X2nw8f2UhQrjdqG1RbdXO1hxlrBvc7wClZzyKzaUXl4RVW\/TtRJXm43qoFTOcFkTfgYfvj9+Kuay4UdvZt1dTHCDw2nbz4DiVnG3i\/35+LTTCjpj\/7EoyT6\/YHxUqj0fTNnNTcqiS4Tk5zJub6Z3\/3uWjX\/pnHXLliiOfF\/mWcZdXT1j3Q2S2y1Tgcdo9p2R4gfcheDT94uzy+9XIxwuH8vTu3eB5fVaaOKOFgZFG1jRwa0YC+1GvHVRpwHP8Allnw2RXW+xW22Nb7NSs22\/5rxtP9eXkrBzg1pc4gADJJ5L1YjV2oW1R\/CqF5cNvEsjTucf0jHFRFObLW2V9HrzjyRXV10N+1VSuYD2AmZHE0jG7aGSfHeV+kLCUtoFt1FZqIgdtsmaU5yNrfw8NlaC\/X4W7Zo6RvbV82BHGN+zngT+y0sWWlE5OjSdcZzt3z\/mxG1HdZp5RZLXtPrJd0jmnHZt57+X7KDf7dFZtMU9upwHSVEzRI\/m84JJ9cblc6esZtUMk9S7ta2oO1NId+OeAfHj1UHWZOLYM7vagkWtSiibYSdUrJ7vl5L83NJDE2GFkTPhY0NHgF9oqLUd7dRxCgocyXCo92NrBksB5\/ssUnJ4O6c41x1Mp9YXl1WJbbSBzo4PeqnjcOIAHqR54V3pOlFHp2nJ3GUGVxIxx4fLCoLxaxaNNwUgO1WV07O3eTxIycZ7iR8yrLUVbMxtPp615NTM0NJGN0eCMZ5cPTxW7WYqKPOjJxtlbZvhcvPZFZqC5Pvrp20rnC20TS6WTOBI\/g354A8yr7R9KabTsBdxmJkx48PkAq3UlHDZ9KQ26mJ\/Nma05O953kk+YHyUy+3V1sooLVbverpGtjYxgyWNxjP7KHzioxJh+3bKyx80v+vsRyv10nrq5tgtbx2ku6olG\/YHMenH0UKlt9ONW0dtp\/ehtsZke7iXP4knvyW+ivrLZ4LHQue87U7m7c8x3knifJVuj2mf8AELxMcGplOC48Gjefr8kTSTwWlXKVkde7efJLs+Zo6mpio6aSoneGRxt2nOK\/O7tWV2o6mBwBZHNL2dLB16uPqN\/j0KuXSS6wuL2FxhtFI7LncO0Pj4eg8UtM1K6rqtQ1GIaKlHs9G3HBo6Drj\/UeimC0c+0pfN3tRTxH643fkvqXUs9Bpaysa7AbG3Za0DDpXfuVnHmSFp1LfGB87sCjpTuA5g46Dj8+KmUNJPqO5C9XFnZUMP8ALwv4OA5nu5k8\/AKrqbxDXXaS6zsE0cB7Kjpi3+I7kSO7IJ8QEivv7EW2ZSey\/r7v\/ETaWUWKCS8XEdtda\/fDBj3mg\/Tl4YAVddbZVyup3VrzLdbhINmPfsxM\/vHgM+K0Vos8kUj73en7dWQXgO4Qt8OuPRRLE5lZcKzU1wc2KIEsgL3DDRwPnjA78lSpYba\/PArKrUowlyz9O1vx+hp6aCOhoooG4bHCwNzwGAOKx1qun\/m1SKJnb09U8gkbsDcS71Hmo9zvNfqivFttrXNp3Hhw2h+px5DuUzTNvFq1hV0Qk7TsqXe7GMk7BP1UKOlPO5ed3Fsgq18Ke5tERFznqlBcrnd56uW3WmhexzNz6qXc1ueY5f3wS26Vghf7Vc5DX1Z4ulOWt8AePn8lfor6+WEYcBOWqbz9F6HgAAwBgBeoiobhEVDqi9T22COmpInuqKn3WvaM7A7h16eCmKcnhGdliri5SIWrdSikjdbqKT\/EOGJZGn+GOg7z8lx0hpt8Dm3StZsux+TGRvGf6j9l209pFtOW1t0HaVBO02J28MPU9StWtZSUVpicdVM7Z8a30XcZDUrq6j1NSXGkpXTllOWMwCcuO0OA3nG0CrDT1ikpXuuVyPaXCYEkk52AeXj4eCv0VHN4wbx6PFWObee3HiFnta0sk9jE0Qy6mlEhwMnG8H6g+S0K8IBGCMgqsXh5Nba1ZBwfaZep1i2eJlPaaaWetkb8JZujPPI549O9TbFYXUMr6+vkE9wmHvPO\/Y8Pp5YHfcRwxRFxjiYwvOXFrQNo8cn1K6KzksYiZxpblqseWtu5GS1tO+nq7RKxnaFkrnhmPiILMBTtO2aamfNc7hh1dVHaII\/hA53D++WFfFocMOAIznevU1\/DpIXR1xXY36emDL62ZVvioXU0D5diUvOy0neMY3DzUrTtifQ7dfXOMtfPvc53FgPLx6+ivkTW9Okn9PHiuxlffpTDYa17TgiFwHmMLHWp1VeaKmsVCTDTRt26ubGC7LicfYdcdAt7PBFUwvhmYHxvGHNPAhcLfbKS1wGGkiDGk5cebj3qYzUY47SltErLE88sYZV32OCy6SqIKRgjYWiMDrtHBJ6nGVQaetVRfIoG1LeztlKfdYMjtX5yT39CeQ3BbmopoKuEw1MLJYzxa8ZC9hhjp4WQwsDI2DDWtG4BFZiOO0ifRVOxSfVSxgodY1poLF7PA3Y7f8v3RgNZzHpu81F0lpr2QC41rMzH+Ewj4B1Oef0+mqcxjwA9odg5GRnC+lGvEdKLvo6ldxJc8bIiXSlkrrZUUsUnZvlYWh2M\/wB9F+cyUNzqq6KyMmE5g3BjD7kR\/qzuxuJ3lfqKi0dto6B0rqWnbG6Z208jJLj5\/RTCzSinSOjcaSecd\/kRrJZKey0nZRe\/K7fLKRvcfsO5VdJ7n\/USt59pTDy3M\/ZadZis\/wALr+jleQ1lRAWA54nB3fRIttvPcTdCMIwUVyTRp0RFmdYREQBERAF5gHGRw4IiA9REQBERAEREAREQBERAEREAREQBERAEREAREQBV12ssF3NO6WSSN1O\/ba6M4Ph8h6IilNrmisoqaxLYsURFBY\/\/2Q==",
    "razonSocial": "NOTARIA TALTAL",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:16",
    "ubicacionGPS": "LatLng(lat: -25.4074671, lng: -70.4832785)",
    "horaLlegada": "11:25",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 12:16:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 12:16:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:16524375

[10/08/2026 12:16: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('16524375', 'KY2248', 1, 21773342, 322283, NOW(), 
				'08:00', '11:25', '12:16', 3, 'mantencion preventva ,limpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786378618.png', '', null, 'COMPLETADO','LatLng(lat: -25.4074671, lng: -70.4832785)' )
				
[10/08/2026 12:16:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201414

10/08/2026 12:16:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201414'                    
				WHERE idllamado = 13726			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


10/08/2026 12:16:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13726			
				
10/08/2026 12:16: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

10/08/2026 12:16:58 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-UsDwnEPJ0vPo0YnFsmz8gpeG.INhs.-EyBHDXpGXIiEKnN6Ix-h
10/08/2026 12:16:58 Detectado modo MULTIPART/FORM-DATA
10/08/2026 12:16:58 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786378618.png
10/08/2026 12:16:59 Envío correo: OK
------------------

10/08/2026 12:16:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:16:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:17:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13726
            GROUP BY l.idllamado;
            

10/08/2026 12:17:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:17:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:17:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13726
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13726
            GROUP BY l.idllamado;
            

10/08/2026 12:17:03 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 12:17: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;
                

10/08/2026 12:17:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13726
            GROUP BY l.idllamado;
            

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/2026 12:17:03 - INPUT: {"rutTecnico":"21773342"}
[10/08/2026 12:17: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;
                

10/08/2026 12:17:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/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 = 13726
                and cs.estado_control = 1;
                

10/08/2026 13:09:23 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 13:09: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/08/2026 13:09: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/08/2026 13:09:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:09: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/08/2026 13:09:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

)

10/08/2026 13:09:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:10:14 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

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

10/08/2026 13:10:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:16 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:10:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10: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/08/2026 13:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 13:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 13:10: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/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 13:10: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/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13:10: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/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10: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/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 13:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:10:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

[10/08/2026 13:10: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/08/2026 13:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 13:10: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 13:10: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/08/2026 13:10: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/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[10/08/2026 13:10: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/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

10/08/2026 13:10:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

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

[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:10:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13:10:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

10/08/2026 13:10:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:10: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/08/2026 13:10:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13723
                and cs.estado_control = 1;
                
[10/08/2026 13:11: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/08/2026 13:11:58 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 13:11: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/08/2026 13:11:58 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

)

10/08/2026 13:11:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:11: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/08/2026 13:11:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

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

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

10/08/2026 13:12:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

)

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

10/08/2026 13:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

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

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

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

10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

[10/08/2026 13: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;
                

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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/08/2026 13:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13: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/08/2026 13:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13: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;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13: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/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13: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/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:21 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

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

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

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

10/08/2026 13:12:22 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:22 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

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

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

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:22 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

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

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

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:12:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:24 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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;
                

10/08/2026 13:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13: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;
                

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

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

[10/08/2026 13: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;
                

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

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

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

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

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

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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;
                

10/08/2026 13:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13:12: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13:12: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/08/2026 13:12:26 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13:12: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/08/2026 13:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:12:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 06/08/2026
        )

)
[10/08/2026 13:12: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

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

10/08/2026 13:12:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:12:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

10/08/2026 13:12:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:12: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/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

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

10/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

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

10/08/2026 13:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

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

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

[10/08/2026 13:13: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

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

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

10/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

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

[10/08/2026 13:13: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/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13:13:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

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

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:13:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13:13:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:27 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:28 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:28 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:13:28 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

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

10/08/2026 13:13:28 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:29 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:13:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13: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/08/2026 13:13:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:13:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:29 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:13: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/08/2026 13:13:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:13:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:17 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13:14: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/08/2026 13:14:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:17 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:14: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/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14: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/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:14: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/08/2026 13:14: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/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:14: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/08/2026 13:14:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

[10/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:14: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/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:14: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/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14: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/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:14: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/08/2026 13:14:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13715
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2380
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:14:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:14:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 13:17:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_oz4bT1x9N+3hDS5frp8Yl9kAdXX5gSBppjlSmupcB1UOepDPAT
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76053835",
    "serieinterna": "KY2380",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13715",
    "observacion": "Entrega de toner\nentrega en porteria\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC+ANADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA8EAABBAECAwQIBQIFBQEAAAABAAIDBAURIRIxQQYTUWEUInGBkbHB0RUjMqHwM+EWJFJVkjRCQ1Nik\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAwIDBgcAAwAAAAAAAAABAgMRMRIhQVFhBBMygcHhIkJxobHR8CNSkf\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIqpne0c08smPxDw0sGs9ou0bGOuh+vuG6lGLk9iqrVjSjeR15ztOyk91Kgz0m5oddN2xeZ\/m3VcmJzWYzFqvDXMYir6el2ODVsp8B7R4afBQ+LxkuW1qUGvipcX+YuPGjpvIeWvT2Eq90qVfH1WVq0YZGwbDx8z5q2WmCtxMVF1q8tbdo\/wB\/N\/8ADoREVB6QREQBERAEREAREQBERAEREAREQBERAEREAWEsscETpZntjjYNXOcdAAtGQyVTF1jPblDG9B1cfADqqpPJb7QxOvZOU0MNEeJrRs6Tw9vt+CnGF93gz1a6h8K3f9nkjLLZ+xlxPBQk9Hx0Y0ntvGmo15D29BzK5MHhHZpzfVfBioncidHTu8T\/ADbkOpW\/H4+TtNMx3cmphazj3ULduM9fafE+4dSrpFFHDE2KJgYxg0a1o0ACtlJQVkY6VF15d5Ud1+fb8nkMMdeFkMLAyNg0a1o2AWxEWc9TAREQBERAEREAREQBERAEREAREQBERAEREAURmu0NXEM7vXvrbx+XCzc69NfAfuuXNdopY7H4Zh4\/Sbx2cWjUR\/3+XVbMH2cZQf6bdf6TfedXSOOvAfL7qxRSV5GWVWU5aKXm+C\/bOKrhJrT3ZftNK13A0ubAf0Rt8\/t8dStQE\/bG6NOKDEVnaADYyn+fBe3p5u1uQ\/DqTizHV3gzzA\/rPl++nxVprVoqdaOvAwMjjbwtaFJya3efwU06UajaXh4v\/Z\/oyiijhibFEwMYwaNa0aABZoipPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLxzg1pc4gADUk9EB6qvl81ayVp2GwfrSEaTWAdAwdQD9fgtd\/MXM\/cfisIeGEbTWgdBp10Ph+59in8Viq2Iptr12+b3nm8+JVltG7yZHN13pg7R4v0X7NOEwdfC1y2P8yd+8srubj9Ao3P5SxcttwWJcTPIdJ5G8o2+35\/DmVszmcm9JGIxP5l6XZzhyiH3+S7cJhIcNXIB7yxJvLMebj9l3HxSyRaUv8NLZLL9F1N+KxdfEUm1q425ucebz4ldqIq277s2RioqywERFw6EREAREQBERAEREAREQBeajXTXdQWX7TR1pPQcc30u+88LWMGrWnz+yyweGt1J5MhkLkktudoDmB3qtHh56fsp6bK7KO+Up6YK\/PoTiIigXhEWqzZgpwOnsStijYNS5x0CHG0ldmUsscMTpZXhjGDVznHQAKq2btrtZbdj8eXQ46M\/n2P\/AGeQ+3xWJNztla0aX1sRE7fo6Uj+e72q0VKdehWZXrRCONg2A+Z8SrNofUyXl2jZbQ\/PsY0MfWxtVtarGGMaOfVx8SepUNnc7M2wMTiR3t6XZzm8ov7\/ACXvaPOS15GYvGgvvz6D1Rr3YPX2\/IbrrwWChw1cknvbUu8sx5nyHl80St8Ujsm5vuqWyWXy6Lr+BgsFDhq5JPe2pd5ZjzPkPL5qWRFBtt3ZohCMI6Y4CIi4TCIiAIiIAiIgCIiAIigM12k9Gm\/D8ZH6Vfdto0aiM+fn5fFdUW3ZFdSpGnG8iSyWWp4mDvbcvDr+lo3c72BV8T53tOdIGnHY5\/8A5NfXePmfdoPMrrxfZg9+b+alF224fpdu1n3+SsIAA0A0AU7xjjdlGipW3nsuXHzfoR2JwVHDx6Vo9ZD+qV+7j9vcpJEUG292aYwjBWirIIi4srla2IpusWHeTGDm8+ARK+yEpKKu8G29erY6q6zakDI2\/EnwA6lVmClb7XWRdv8AHBjWHWGAHQv8\/wC\/w8V7RxNztHcblMyCytzgqg7EdNfL9z7FbGtDWhrQAANAB0U7qGMmVJ9od5K0eXP69OhjFFHBE2KFjY42DRrWjQAKH7QZ4YtjK1ZvfXp9ooxvprsCR8h1XvaDtAzERCGFvfXZdo4hvpr1P26rR2f7PvrSnJ5N3fZCX1vW37vX6\/LkESSWqRKpUcpd1SzxfL3N2AwP4cHXLh77IT+tI878OvMD7qbRFBtt3ZfTpxpx0xCIi4TCIiAIiIAiIgCIiAIiq13MZDN25MdghwRMPDNbOo4efI9OXMb+xSjFsqqVVTW+XhG\/O52ZtgYnEjvb0uznN5Rf3+S7sJg4MPXOn5tmTeWY83Hw9i9w2Cq4aEiL8yZ4\/MmcN3fYeSk11yVrRK6dOTl3lTPBcv7mERFA0hEXDlctVxFQ2LL9\/wDsYD6zz4BdSvsiMpKKu8HuVytbEU3WLDvJjBzefAKFxeJsZi2Mxmmag\/8AT1iPVYOhITFYqzl7jczmW+deseTB0JCs6m3p2WTNGLrPXPw8F6sKPzWWiw+OfZfo5\/KOPXd7v5zXXZsRVK0liZ3DHG0ucfIKsYutN2lywzd2Phpw6trQu34tOp8d\/wB\/YuRXF4J1qjVoQ8T+3U6ezuIkfKc5kvXu2BxNBGndjp79PgFY0RclJydyynTVOOlBERRLAiLRcuQUKklqy\/gjjGpP0CHG0ldnl27Xx9V9mzIGRsG58fIea5cJk5stUdZkqOrsLz3XE7Xjb4qCqVLXa262\/fa6LGxH8mDX+p\/Op9wVua0NaGtAAA0AHRTklFW4menOdSWtbR4dep6iIoGkIiIAiIgOe\/BJZoTwRP4HyMLQ7QH5qqY2\/kezdVtWxgX92CeKWHcud4k7g9BzVzRTjKys0UVKLlJTi7NFaZ27xROj4rUZHPiYNvgV0R9ssI8Eusvj0\/1RO+gKm3xskGj2NcP\/AKGq55MZj5f6lGs\/T\/VE0\/RLw5EdPaF8yfl7nF\/irB\/7gz\/i77J\/irB\/7gz\/AIu+y3\/gGI\/22t\/+YUZm4+z+Fqd7Ljqz5XbRRBg1cfoPNdSg3ZXIzlXhFyk428zdb7Y4ivXdJDP6RIP0xsBBPvI2UdgqX47eOYyc8Uzx\/RrMeHCMeY6c+XxWOA7KtsF2RytdjTLvHWDeFrQepH0+O668h2OoiGSfHNlgsMaTG1kh0cdOW++\/kVP4I7Jme1epapNJpcMefEsqKJ7N5N+UxDJZv67CWS7abjr8NP3XB2jydixMzCYok2pjpK9vKNvhr056nwHtVag9VjZKvFU1U54Oa1LJ2tyzKlYv\/C6ztZpAdBIfL6fFWqGGOvCyGFgZGwaNa0bALnxWMr4ii2rXB0B1c483O6krsSUr7LAo03G8p+J5\/QREUC8Ii1zTR14XzTPDI2DVznHYBBgxt2oaVWSzYeGRRjVziqnDDb7ZXhZsh8GKhd+XHroZD\/OZ6ch1KyDbXbK9xO44cRA\/YcjKR\/Pd7VbYoo4IWQxMDI2ANa0cgFb4PqYrPtD38C+\/seta1jAxjQ1rRoABoAFkiKo2hERAEREAREQBERAERRmbzdfC1O9l9eV20UQO7j9B5rqTbsiM5xhFyk9hm83XwtTvZfXldtFEDu4\/QeaisJhLF23+NZr153bwwuGzB0JHTyHv5phMJYu2\/wAazXrzu3hhcNmDoSOnkPfzVoU21FWRlhCVaSnNbcF6sIi02hMakwrcImLCIy46AO021VZrbsijU82MVLlhUYHz2bfDXj8N3bke8Ky9nsEcVHJYsv727Y3leTrp10Hv5lR\/ZjsxLRsPvZENdPqRG0ni4d\/1a+JVqV1SSwjD2WjKynU4YXIIiKk3hEXhIA1J0AQGMsscMTpZXhjGDVznHQAKqB1jtldIHHBiIHb9DMf58EvWLHa28cfRcWY2FwM0+n6z5fT4q0VKsNKrHWrsDIoxo1oVngXUxu\/aJW+Rff2MoYY68LIYWBkbBo1rRsAtiIqzZgIiIAiIgCIiAIiIAiLiyuVrYim6xYd5MYObz4BdSvsiMpKKu8HmWytfEUnWbDt+TGa7vPgFC4bE2cneGczLQXkf5eAjZg6HT5D3r3FYqzl7jczmW+deseTB0JCs6m3pVlkzRi60lOfhWF6v0CIirNYREQBERAEREAREQGLI2R68DGt4iXHhGmpPMrJEQBERAEREAREQBERAERRebzcOGrgkd5Yk2ihHNx+y6k27IjOcYR1Swe5vNw4etqR3lh+0UIO7j9lF4nBW7twZbOu45ecVcjZg6ajy8Pqt2EwkxsHL5c95ek3aw8oh9\/krCptqOyM0YOq9dTHBerCIirNYREQBcuRN0UZPw8Rmztwd5y57\/tqupERxq6sYs4+Bveaceg4uHlr5LJEQ6EREAREQBERAEREAREQBERAEREBH5rLw4ag6zL6zztHHru9yiMDiLVu3+O5c8U7xrDERtGOh06eQ9\/NSVnAwXM1HkbEjpWxM0bA4atB8f7KVU9SSsjN3cp1NU8LC9QiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "LEONPRODAL S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JULIO RAMOS",
    "correoContacto": "jramos@leonprodal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995415792",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29577\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:17",
    "ubicacionGPS": "LatLng(lat: -23.5390471, lng: -70.3902845)",
    "horaLlegada": "13:12",
    "horaDespacho": "10:24",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 13:17:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 13:17:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76053835

[10/08/2026 13:17:43] [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('76053835', 'KY2380', 1, 19969062, 0, NOW(), 
				'10:24', '13:12', '13:17', 10, 'Entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786382263.png', 'Entrega de toner
entrega en porteria
sin contador', null, 'COMPLETADO','LatLng(lat: -23.5390471, lng: -70.3902845)' )
				
[10/08/2026 13:17:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201415
[10/08/2026 13:17:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201415', 'KYO-I647', 1)
				
[10/08/2026 13:17:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29577 and
				    IDproducto = 'KYO-I647'
				

10/08/2026 13:17:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
10/08/2026 13:17:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201415'                    
				WHERE idllamado = 13715			
				TO ENVIO: micorreo@miempresa.cl, jramos@leonprodal.cl, donkhapone@outlook.com


10/08/2026 13:17:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13715			
				
10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

10/08/2026 13:17:43 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-_oz4bT1x9N+3hDS5frp8Yl9kAdXX5gSBppjlSmupcB1UOepDPAT
10/08/2026 13:17:43 Detectado modo MULTIPART/FORM-DATA
10/08/2026 13:17:43 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786382263.png
10/08/2026 13:17:44 Envío correo: OK
------------------

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:17: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/08/2026 13:17: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/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:46 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:17: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/08/2026 13:17:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

[10/08/2026 13:17: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/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13:17:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13715
            GROUP BY l.idllamado;
            

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/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 = 13715
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:49 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:50 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:17: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/08/2026 13:17: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/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:51 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13716
                and cs.estado_control = 1;
                

[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13716
                and cs.estado_control = 1;
                

[10/08/2026 13:17: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/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 13:17: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/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:17: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/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:52 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:17: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/08/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13716
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76053835
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2381
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:56 - INPUT: {"rutTecnico":"24456550"}[10/08/2026 13:17: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/08/2026 13:17: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/08/2026 13:17:56 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/08/2026
        )

)

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:57 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 13:17: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/08/2026 13:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13709
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 14:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76025226
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3161
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:17:59 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 13:17: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/08/2026 13:17:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13709
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 14:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76025226
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3161
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:17:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 13:17:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 13:18:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 13:18:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-dw1Iyui341sETI-9njIdoezR2tijrMdeTu0nLKcNEFoQ2CBHXDm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76053835",
    "serieinterna": "KY2381",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de toner\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13716",
    "observacion": "Entrega de toner\nentrega en porteria\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC+AKEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA5EAABAwMBBgMFBwMFAQAAAAABAAIDBAURIQYSMUFRYRMicTKBkbHRFBUjM6HB8BZCUiQ0Q+HxYv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC0RAAICAQIDBgYDAQAAAAAAAAABAgMREjEhQVETIiMyYdEEcaGx4fBCgcHx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAERV14vdJZafxJ3b0jh5ImnzOP7DupSbeEVlKMFqk8IkV1fTW2mdUVUojY34k9AOaylu2puV32ihgp2NjpXO1jI1DRqSXdf+gq65TVFRIyuun4lTL\/tKADIaDwLh04acT6LV7M2IWag\/FDTUy+aRwHs\/wDznsttMYRy9zz1ZbfalHhFb\/vr0LpERYHpBERAEREAREQBERAEREAREQBERAERZ++bROpZ2262MFRXyHdwNRH69+3xUqLk8IzssjXHVI637aAWzdpaVnj182BHEBnGeZ+io6mn+42\/eVycK28VBAhiPmEZ64544fDHVWtutlNs5SS3O6TiSrfkySk5xnk3qSuFgpZ7xcnbQXBpAHlpYyNA3XX9fjkrZYS4bfc4ZqdkkpeZ7Lour9SRs\/s++mlNzubvGuEvm82vh5\/f5cAtCiLGUnJ5Z3V1xrjpiERFBoEREAREQBERAEREAREQBERAERUO0V9dRAW+gzLcZ8BrWjPh55nv0+PrKTbwjOyyNcdUjxfr7MyoFotLTJXy6OcP+IfXHwUqyWOnsdK6SRzX1DhvTTu\/XBPALzs9YW2eB8kz\/FrJ9ZZDr7gf5lVt1rJ9obsLLb5d2lZrVTN\/UZ\/TuewWm\/dWxyNuPi2LMnsun7zZy3pds7pu+aO00j8niDK7\/wA+APda5rWsYGMaGtaMAAYAC40VFT2+lZTU0YZGwaDr3PdSFWUs8FsdFNTgm5cZPcIiKhuEREAREQBERAEREAREQBERAERUm0F++7GtpaVnjV8+kcYGcZ5n6KUm3hFLJxrjqkeb\/fzQFtDQt8a4TaMYBnczzPfsvVgsAtodV1bvGr5tZJCc7ueQ+qWGwi3b1ZVu8avmyZJDru54gfVT7rcorTb5KubXdGGt\/wAncgrt\/wAYnPGLb7a3lsun5Kraa7SxeHaaHD6us8h1\/LadM9s592Mqwslois1vZTR4c8+aV\/8Am76dFXbM2yZz33u4ZdWVQ0Dhjcb6dwB7lokk8LSiaYucu1lz29F+QiIszqCIiAIiIAiIgCIiAIiIAiIgCIod0uUFpoX1c+S1ugaOLjyAUpZIlJRWXsR75e4bPTZx4lTJpDENS49T2ULZ2xzQTPu1zO\/Xz5OD\/wAYP7\/LguNjtdRcbh9\/3Qed+tPCeDByPw4fHitOrt6VpRy1xdsu0nstl\/oWRc7+rNoQwDetdCc72DiV2mn85Dupm1N0laIrRQnNXWENJa7BjbkcfX5ZVpZ7ZFaLdHSxgZAzI4f3PxqUXdWeYn41nZryrf29yciIszrCIiAIiIAiIgCIiAIiIAiIgCIiA+OcGtLnEAAZJPJZKla7a69Oqpmu+66Q4iYeD36cR+vpgL3eq+a\/Vf3HajlgP+pnHsgdM9M\/Hh1Wko6OCgpI6WmZuRxjAH7laeRZ5nI\/HnheVfV+yO6jXCuhttDLVzuAbG0kDON48gO5UlZGtLtqr+KCNzvu2iOZ3N03n6jT5fEqsY5fHY1uscI4ju9iTstQy1Ekt+rsmpqyfDB4NZpj5Y9B3WlXxrQ1oa0AADAA5L6kpanktVWq46QiIqmgREQBEVRDtDBVXz7spYnzBoJkmafKwj+Yz1KlJvYpKcY4y9y3REUFwiIgCL45wa0ucQABkk8ln\/6imuN4io7PCJoY3g1E7vZ3eYB\/fmrKLZnOyMMZ5mhREVTQLN7QXieWYWW05fWS6SPafyhz15H5eq77RXx1CxtDQ5kuE\/lY1upZnmuuztjbZ6QmUh9XN5ppOPu\/nFaRSitTOWyTsl2UP7f+fM72Szw2agbTxgOkOssmNXu+nRWKKPX1sVvoZqub2Im72Op5D3nAVOLZulGuOFwSKbaa5Tfh2e3+asq\/Kd06sbzPbTPuyrKzWqGz29lNGAX4zI\/m93M\/RVOy9HJVTT3+rb+PVkiIE+yz+DA7DutKryeO6jClOb7aXPb0X5CIizOoIiIAiLMXy61NfXiw2l34rtJ5hwYOYz8\/hxVox1MytsVccv8A6eLrdam+VjrNZneThUVI4AcwD0+avbVaqa0Ubaenb3e88XnqUtVqprRRtp6dvd7zxeepU1TKXJbFKqmn2lnm+3ogiIqHQFxq6unoad1RVStiibxc7+ar7U1EVJTSVExLY427ziATge5YCe+0l5upnuxlFFBrDTsHta89eK0hByOb4j4hVYXN\/vEtZKu47XSfZqSN9La978SY+1IBy\/6+K01Bb6a20raaljDGNHHm49SeZVAzbO3sjbBb7fUy7ow1jGAAdBoT8l9\/rCoaMvsNY0dcH6K0oyfBLCMK7aYvVKWZdfY06r71dorPb31MhBfjEbCfbd0VZDtxa3P3KiKopnD2t9mQPgc\/oodIRtVtI6qcSaCgI8Jv+Ts6HHQ4z7gFVQa4y2NZ\/ExktNTzJ\/uSbs3aZfEde7i4vrKoZAI\/Laf3xj0Gi0SIqyll5N661XHSgspenvvu0ENkiz9mgIkqnNJ9cfIep7K5v11ZaLXLUbw8Ujdiaebj27cfcouytrNDbftE7R9qqj4kjsDIB4D9\/Uq0e6tRjd4k1Uvm\/l0\/suo42RRtjjbusYA1o6AL0iLM6giIgCIstc7xVXisdaLGeH51UDgNHPB\/fnyVoxbMrbVWuO\/JdTre77NLUiz2b8Srk0fI06RDnr178vXhYWOxwWWm3W\/iVD9ZZTxceg7L7ZbFSWWnLIRvyu9uVw1d9B2VmplJYxEzrqk5dpZv9v3qERFQ6QiIgPMkbJY3RyMa9jhhzXDII7hc46SmiGI6eJg6NYAuyIRhbnlrWsGGtDR2GF6RQbxc4rRbpKqQjIGI2n+5+NApSy8ESkopt7IpdrKp1TLDZaOJslZUauJaDus10zy4Z9AvT9jYqeOKS11ctLVRjBl3j5+uenoumy1rlaJbvXDNXWEuAc3Bjbk8PX5YWiWjlp7sTkhSrc2WLfb0XuZaPaS42fEN\/o3u6Twt0PHjyJ4cOq0VLWQVlKypgkDo3tDs54aZwehXVzWvYWOGWuGCOoWQns98pJai2W3cbQVb8h5OsbdM68uOO+765juy9CW7Kesl9TpA521G0njcbdb3eUE6SOycEeuPh6rWqLbbfDa6GOkp87jM6u4uJ4kqUqyeXw2Naa3COZbvcIiKpuERUG0L7nWTR2mghdGyoaTLUk6BvMDH81UpZeDOyeiOcZIl1utTfKx1mszvJwqKkcAOYB6fNXtqtVNaKNtPTt7veeLz1KWq1U1oo209O3u954vPUqarSlyWxnVU0+0s8329EERFQ6AiIgCIiAIiID45wa0ucQABkk8lkWA7W7QOe4ZtlCd3dycSu1wff8vVStpbjNUztsNuy6pn0ncBoxhHA+oOfT1V1bLfDa6COjgyWsGrjxcTxJWi7qzzZyS8azR\/Fb+r6e5LREWZ1hERAEREAREQBERAEREAREQBERAEREAVTtFeRaKDMeHVUx3YGYzk6ZPuz8laucGtLnEAAZJPJZO0RO2h2gmvFQ1xpKd27StdkDIOhHwye57K8Et3sjnvnJJQhu\/p1ZZbOWV1BC6tqyX19UN6VzuLc67v17+iu0RVbbeWa1wVcVGIREUFwiIgCIiAIodEbiZ6oVrYREJP9OY85Ldfa\/T9VMUvgRF5WQiIoJCIiAIiIAiIgCIiAzm11XM+Ons9L+dXPw49G\/8AvyKurfQw22hipIGgNjaATjG8eZPcqBFZpnbSy3aqmY9rWblOxv8AYMa5yO54dVcK8nwSRzVRbnKyXyXyQREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "LEONPRODAL S.A.",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JULIO RAMOS",
    "correoContacto": "jramos@leonprodal.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56995415792",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29578\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:18",
    "ubicacionGPS": "LatLng(lat: -23.5390912, lng: -70.3902851)",
    "horaLlegada": "13:12",
    "horaDespacho": "13:17",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 13:18:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 13:18:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76053835

[10/08/2026 13:18: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('76053835', 'KY2381', 1, 19969062, 0, NOW(), 
				'13:17', '13:12', '13:18', 10, 'Entrega de toner
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786382297.png', 'Entrega de toner
entrega en porteria
sin contador', null, 'COMPLETADO','LatLng(lat: -23.5390912, lng: -70.3902851)' )
				
[10/08/2026 13:18:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201416
[10/08/2026 13:18:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201416', 'KYO-I647', 1)
				
[10/08/2026 13:18:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29578 and
				    IDproducto = 'KYO-I647'
				

10/08/2026 13:18:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
10/08/2026 13:18:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201416'                    
				WHERE idllamado = 13716			
				TO ENVIO: micorreo@miempresa.cl, jramos@leonprodal.cl, donkhapone@outlook.com


10/08/2026 13:18:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13716			
				
10/08/2026 13:18:17 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/08/2026 13:18:17 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-dw1Iyui341sETI-9njIdoezR2tijrMdeTu0nLKcNEFoQ2CBHXDm
10/08/2026 13:18:17 Detectado modo MULTIPART/FORM-DATA
10/08/2026 13:18:17 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786382297.png
10/08/2026 13:18:17 Envío correo: OK
------------------

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13: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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 13:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18: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/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18: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/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

[10/08/2026 13:18: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/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18: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/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18: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/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18: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/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 13:18: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/08/2026 13:18:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 13:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13716
            GROUP BY l.idllamado;
            

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/2026 13:18:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/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 = 13716
                and cs.estado_control = 1;
                

10/08/2026 14:17:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:17: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:17:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:17: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:17:21 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 14:17: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;
                

10/08/2026 14:17:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13709
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 14:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76025226
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3161
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:17: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:17:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:17: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:17:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:17:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:17:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:17: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:18:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:18:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:18:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:18: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:18:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:18:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:18: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:18:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:18:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:18:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:25:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:25:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:25:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:25:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:27:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:27:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14: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 = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 14:28:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ydo-c1XrnvVGYSPllsqTN4QXBrFoC+maUt94WuY+pO1pc9DTIOH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76025226",
    "serieinterna": "EP3161",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "23°09.190' S, 69°56.919' W",
    "ciudadmaquina": "Baquedano",
    "departamentomaquina": "Oficina Geogía",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se configura mediante wifi \"Madrugador Geología\"\n•Se configura SMTP para escanear a correo\n•Se instala impresora en 11 PC\n•Se realiza inducción\n•Recepciona Geraldyn Madl\n───────────\n[!]Recordar que el computador debe estar conectado al mismo wifi de la impresora, de lo contrario esta no imprimirá. Si se manda a imprimir mientras el usuario está en otro wifi, los documentos pueden quedar en cola y se imprimirán automáticamente cuando se conecte a la red wifi de la impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13709",
    "observacion": "s",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABpAYUDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABIEAABAwMBBAUHCAYJBQEAAAABAAIDBAURBhIhMUETUWFxgRQWkaGxwdEVIjJCVXLS8FJikrLC8SMkMzQ1c5Oi4gcmZIPT4f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgQDBgUEAwEAAAAAAAABAgMREiExUQQTQRRhgZGh0SIyccHwI0JS4SRisVP\/2gAMAwEAAhEDEQA\/AP2ZYl6vNRT1UVttsbZa2XB+cMtYO3wBPgtaqmFPSTTkgCNjnknlgZWBpCkEtG+71AD6mrkedvmG5xj0hXilbEznqyk5KnHK\/wDw4y2\/VFMH1ENzZUvaBiFzdzt48OH5C99kv0V1a6GXZirYsiWHqwcZHWtdTOpKZ9sq4b\/Rs+dG4NqWt3bbTzO\/uHo6lKalkzOcXR+OLbXVPPxKZF1088dTTxzxHLJGhzT2LsWZ2J3zCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLIsF3musdT5RGyOSnmMZa3du7Rk9qm2VyjmlJRfU10RFBcIiIAuinrKeqdK2CZkhhdsvDXA7J\/PsXepWgJtWt6qjcSIa5vSx5O7PH8QVoq6ZjUqODjs3YqkRFU2CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPFeQTZK8AZJppP3SvDo8g6YpMHht5\/bctapj6alli\/TYW+kLB0PKH2J0W8GKZzSDy4H3rRfIzmllxEXun9ihk2+jd0Wzt4OztcM8sqetd0feqOstFwa2Cua18bmHgQRjI38vgVRqd1PbJSI7vb2YrKUhxI4uYPbj1jIUQtoya+JLGtFqt0NF1D32mSklGy+kmdHsk5IHHf45HgqJRulLjHU6kr3RNLGVTBKWnk4EZ9bnKyU1FaRXhJKVJW6ZeQRF8c4NaXOIAAySeSzOo+opdt\/ut5lnbY6aMQxEATTfWP55fyXNl3vVslhbeKWN8Mzw0zREAM7zw\/J38lfls5u0wednbe2RSoiKh0hERAEREAREQBFialr6qlipqWjJZNWSiMSAZ2N45ePqXmZpKSBjn012qWVDt5fnDScHkOAye1XUVa7ZhKrLE4xje2pSIpumut0tNWykvTOlikJDKtgGMZAG1yA9apFDjYvTqKegUvbwLXrWrow89HWs6VjMbtreT\/EqhTGrY3UVTQ3yJu0+mkDJB1tP5I8VaGbtuZcTlFT\/i7+HUp0XGORssbZGHLXgOB6wVyWZ0hERAFMawY+lmt94ij2vJZcSEcSCQQO7cR4qnXgvlH5fZaqnAy50ZLPvDePWFaDtJGNeDnTaWp7WPbJG2Rjg5rgC0jmFyWLpKs8r09T5dl0OYndmOHqwtpRJWdi9OanBSXUIiKC4REQBERAEREAREQBERAEREAREQBERAFL6SDqavu9Adwin2mjsyR7AFy1D5babnFfKYvlgaAyoi2t2z3ch7+9ee0VsL9aTyU79qCvgD2d4Azkd4ctlH4WcNSqudFPJp+jWpXIiLE7iFrpqfTetRUMYeglZtSNH1drOceIzhXDHtkjbIxwc1wBaRzCkrjRwXXXBpJQHMFKQ\/9U4OD37wV6NJ1ssElRY6x39PSuPR5+s3s9vitpq8U+p51CeCpKP7W3b6lOsTV9U+m0\/MGHBmIiznG48fUCttTGr52MrbRFMWinfOTKXHGAC0Z9BKpTV5I6eJlajL81yNu00UdvtkFNG3Z2WDayBknnnCxdcva61QUwcOmmnGwz9LAOfaPSudVq1ss\/ktmpJK+fmcFrW9+d\/sHaudoslU6sF1vL2yVn1GDBEfHG\/xO4buHNWScXikYzlGpDk0s+l+iN2JpbExp3ENAK5oiyO4zJL0yK\/RWmSB7XSs2mSkjZO4n3Fe+eeKmgfPM8MjjG05x5BTesWeSy2+7tbl1NMA79YZyB6j6V11kx1XeI6GkkPyfSnbnkYSNs53D1bu8la4E0n0ON15QlKDzd8vH2O6C73i+ySm1wspqQfNbPKMknO\/+XLxXz5K1X9tw\/s\/8VRwwxU8LIYWBkbBhrWjcAuxRjtoi64dtfHJ3+tjFtMeoYax0dzmp56YN3SN3OzuxyHrWg+40kdeygfMG1MjdpjCDvHfw5H0L1LB1VbpZ6OOvoxiqo3CQEDe5o5eHH09ahWk8yZKVKneOdtzz6jBGo7JIdzRKQSe8KmUtW7Wq9P09XQuDauCQO2A76LuY94Wpab7T3Clj6V4hqMYfHJ807QxnGe0qZJ4V3GdKcVUk+krNeR5Nakt0+XA4c2ZhBHEFeuyXuiucYgppHPkhjbt5aRndjmsfWlygJgtgc8ybYldsb8ccNIB356t3IrONDPZbfQXuOMsn6YmZo4FjuRzw6vFXUU4JMwnWceIk45pJX\/PEvl5LrRC4WuopCATIwhueG1xHrAXpY9skbZGODmuALSOYXJYrJnpNKSs+pg6Qrn1Vo8mmGzNRu6FwPHA4fDwW8pXIsWsyXDZproPpcg\/Px\/eVUrTWd11MOHk8GB6xy9vQIsS6XatFyba7VDHLUbG3I97sCMd3d7QvI+z6mlO26+Na4gZDW7s47gihuxKvm1GLdimRTAsupmZc2+tc4A4DmnGfQuEl31HZQHXOijq6cfSmh3Edpxw694CnBfRkdow5zi0vzY89quVHpu63KhrJDHGZg6PcTgEfAhV8Usc0TZYnh7HjLXNOQQvznVFVSXWupq2jkLxNGGOjwNtrgeY8R6NxW6+yXXT0vlFkmdUU5x0lNJvLt\/Ld\/8AvetJwTs3qclCvKLlFK8Vt35+JWIpca4p4SW1ttq6eQcWgA449eOpcZde0PRONPSVT3gbg8NA8SCVny57HV2uh\/I46m1LPTzOo7btNkgIdNLjcDxDfz3KloXyyUFO+dwdK6JpeRwLsDPrUXYdN1V1Irrk\/FNITIG7tqZ2\/Dj6Tx9hV2pqYVaKKcK6k26k9HogiIsjtCLJ1DefkihBiAfUzEthZ28z243bu0LHdpu4vtra91ZObow9K1m2MD9XPXjn4K6jdXbOedZqTjFXa1\/NyuRZWnrv8sW1srxszxnYmbj63X4rVVWmnZm0JqcVKOjCIigsEREAREQBERAcXsbJG6N7Q5rgQ4HmFC19odpa8wXSGN01C1+SBxjzuwfTuKvFxkjZLG6ORjXscMOa4ZBHaFeE3Ewr0FVS3WjOqjraevpm1NLIJI38CPYepdVzuUFron1M2TsjIY3i49ix5NJvp5Xy2i5TUW0Sej3lvdx+K7KXSoNY2sulbJXyswWsePmA437ufqU2hrcpjrtYcOe98vrucdL0FQ59Req4FtRWH5rcDczcR+eoBdWraSWlkp77RjE1K4CTH1m9vs7iqdea4Uba+3z0jjgSsLc4zg8j6UU\/iuJUFycC1++52U07KqmiqIzlkrA4dxCkNWWaobIbrNUvqqdkozTndsMOM4OevdwWpouq6aximeMSUrywjng7wfWR4LdmijnhfDKwPjeC1zTwIRNwkRKK4mir9f8Ap57bFQx0MbrfHGyB7Q5uwOPf2r1qUa+r0g8x9C6otbjtB43uYTy3eJ38sb87lrM1PZXsDhcIxkZw7IIUOL1WZanWglhl8LXT2NVeJl2o5Lo62sl2qhrNogcB2Z61j12oKu4P8j0\/AZnOG+qO5rB4+\/wBWlZrLBaInFvz6iXBllPM9Q6gmGyzJVVzlanp1fsd91oW3K2VFI4DMjDsk8ncj6cLC0E+L5LqIg3ErJsvyORAx7CqlSEMPm7rHBdsUdwBwTwB448Dz\/WUxzi4mdZYKsKvg\/HQr0RFmdgREQEzV2a4Wq4vuFhaxzZf7amJAB353cuteCvtFz1FUxzG2Q0Dwf6SZzztHcMd\/o5claotFUaOSXCwlld22\/NCftmjrfb3NkldJUytOQXHZaDu+qO7nlbVZSx1tJLTS\/QkaWnHEdvgu5FVybd2bwpQhHDFZE3pKvLYZLPUjo6mjJAaTvc3+ftCpFlV9lNTc6a401QaeeJwDyASHs5jGVqqZNN3RSjGUI4JdNPoY2qLYblZniMEzQHpY8cSQN49HuXbp66C7WiKcuzKwbEv3hz8eK1F46C1UlsMxpY9jp37b9\/PqHYl1hsxy2quNaPX7GPZ3SjV92ZI5+MAta4nhnl6VSKcvttqaSsbe7UwmoaR08beMjN3w5b1q2y7Ut0gD4XgSYBfESNtneFMldYkUovA3Tlrdtd9z3IvhIAyTgBTV31QHnyCx5qquQ7O3GMtZ2g8D38FWMXJ5G1SrGmryM+ptlFcdXRR22JrWQuD6p7Dluc5Ixndwxu5lWyy9P2gWe2iFxDp3nbmcN+XfALUUzld22MuHpYE5NWbzCndaVL47O2liJ6SqlEYA3ZHH4KiUzfXOqNWWelaSWscZCAOo5\/hSn8xPEv9JpdcvM3qGlbQ0MFKzeImBuevA4r0IiobpJKyClNSTs857TFNJsRQZncc4xg5z\/sVWvzy\/Mku+snUcOckth7gBlx8N58FrSV2cfGzcaaS6tGxZKd2oLrJfaxjhDG4NpIydwxz8D689Sq1108EVLTxwQtDI42hrQOQXYqSldm9Gny456vX6klUnzd1cyo3to7iMPydzXZ9xwe4lVqytSW0XOyzRhuZYx0kX3hy8d48V907cPlGywSucDKxuxJv+sN2fHj4q0s4pmdP9Oq6fR5r7moiIszqCIuitmmp6OWWngNRK0ZbGDjaKEN2VzvRdcD3yU8cksXRSOYC6POdg43jPPC7EJWYREQBEU\/WUmp21kk1HcIHQk5bE9oB4fd96lK\/UzqTcFezf0KBFL\/LGp6E7NZZRUgfWgJyfRn2Lk3XFGx4jrKKqpn9RaDj2H1K3Ll0Mu1Uv3ZfVNFMix4NV2SfGK5rD1SNLceJGFpQVlLVf3ephm\/y3h3sVXFrVGsakJ\/K0ydtH9S1pc6MHDJ2iVreRO4\/xFVCmK35v\/US343bdMc9u6T4BU6vPo+4y4bJSjs37\/c+EAjBGQVny6ftE0jpJKCEucck4Wiiom1obyhGXzK51QU0FLH0dPCyJg+qxoA612oiglK2SC6Kmjp6wMFRCyTo3BzdpoOCF3ogaTVmEREJCIiAIiIAiIgCIiAIiIAsW4aVtlfIZhG6nmdxkhOzntxw\/mtpFKbWhSdOM1aSuTLdD0QJD62re0jBBcPgtuhtlHbYjHSU7IgeJA3nvK9aKXOT1ZSFCnB3igiIqmwUvSk1uv6qUfQpINgHHPd8XehVCmdHjyie63DZAE9SQMEEbiTux94K8ck2c1bOcI99\/IpkRFQ6Qsi1aegtldU1pkM807s7Tm72ZJJx359S10UptZFJQjJptaBERQXOMkjIo3SSO2WMBc49QCnNHjbNyqIhikmqC6BuCMDJ92FSEAjBGQV8a1rGhrGhrRwAGAFZOyaMpU8U4y2uckRFU1CIiAIiIAiIgCIiA4h7HPcwOBc36QB3jvR7GSN2XtDh1EZU3ZvmayvDC8ZcA7ZB7vj61TK0lZmVKfMi3bq15HgnsVqqcmW305J4kMDSfELMm0PaJDmIzwHORsSZx6QVRLzXCuhttDLVzuAbG0kDONo8gO0qVKXRlalGi1eUURHyNWN1X5FQ3GQzU8W108hyWAjh\/u9a2eh1lTbhU0lUOWQB4cAuzSdPNN5Vealoa+uflgB4NBPL88FRq8552Oahw6cMSbV88n06Ex8r6qi3TWON5643bvUSnnVcov7zp2qYBxc3ax+771ToqYl1Rvyai0qP09iY8+aSP+82+si6vmg+0hd7NbWV\/wBKSZn3oz7sqgXnkoaOYES0kD88dqMFLw2GCutJp+H9mc3VtidnFeN3XG8e0LuGo7M44Fxg8XYXY6x2l+M22l3dULR7Auk6Zsrhg2+LwyPenwd4\/wAn\/X1O5t8tLhkXOk8Zmj3rubcaF5w2tp3Hslafes92krE45NAPCR4966XaLsjhgQSN7RKU+DvF+IXReb9jbZUQSfQmjdvxucCuxTj9DWd3A1DN3KQe8LqOiWR7qa61cQHAZzj0YU2huOZXWsPX+ioRTHmrc2f2WpasAcGna\/Eh05fM7tSTY7nfFRhjuObV\/wDN+a9ynRTHm\/f2b2aikJ\/WB+JT5K1XH\/ZXuF2OG23\/AIlMK3HPmtab9Pcp0UwabWceP67Ry43\/AERv7PohOl1nFv6Cjm7Mge8Jg70O0bwl5FOimPLtZ\/ZNH+2P\/ohu+qYjiWxxuPLYdn2Epge6HaY9YvyZTopjzquce6fTlU3tbtY\/dTzyewZnstZGO7lz4gJy5DtVLf0fsU6KYGuqAH+lo6tjTz2R8Vz8+rR+jU\/6Y+Kcuew7VQ\/kikRYI1pZCMmeQdhicu2PVtjkGfLg3sdG4e5RglsXXEUX+5eZruc1jC9xw1oyT1BTmg2FthkJ4OqHEfstHuXqn1NZJqeSIXFgL2Fudh3MdyzrBeLTZrOKaouMUj2uc49E15G\/q3K6i8LVjCdWm60ZYlZJ9V3FYiwH61srG5bLK89TYzn14XnOuKSQ7NLQVc7uAGyBk+BKry5bGr4qiv3Ip0Ux531X2BWev8Ked9V9gVnr\/Cp5ciO10d\/R+xTopjzvqvsCs9f4U876r7ArPX+FOXIdro7+j9inRTHnfVfYFZ6\/wr67VFyGCzTVY4EZz878CjlyHaqW\/o\/YpkUx5z3d+QzTNUD1uLsfuIbzqeQ7MVjY08i8nHt96ctjtVPpd+DKdFMeVazlaW+QUcB\/S2gf4in\/AHn\/AOH6kwd6HaP9JeRToplo1kXAE0YGd53bkbQatqBie608LHYDmxtG0Bz37PHxTB3odob0g\/L+ymRZ1mtlRbYZG1FfJWPkdtFz87u7JKKr1N4ttXasaKIigsT16ttXT3OO+WwF8zGhk0IGekbw3eHsC+N1taQ0CUTxyDc5hZktPUqJTd7\/AMRP3QtYtSyZx1YypXnTdr9DjJrAVDuhtVvqKmY8C5mGjtOMnHBfILBX3iRlTqCb5rSHMpozgDv9nX2rWsf+HD7xWiocsOUUTGk6iUqjv3aI+NaGtDWgAAYAHJfURZnWEREAREQBERAEREAREQBERAEREAREQBERAEREB8IBGCMgrgYISMGJhB\/VC7EQWPMbbQOOXUVOT1mJvwXU+y2uT6dupj\/6gMr3IpuyjhF6ozvkC0fZtN\/phcmWO1Ru2m26mB\/ywveiYnuRyofxR52W+ijdtMo4GnrETR7l3gADAGAF9RQXSS0CIiEhERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "null",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "GERALDYN MADL MOYA",
    "correoContacto": "gmadl@marimaca.com",
    "correoCliente": "VSALINAS@MARIMACA.COM",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "983346286",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"29573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"29573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"29573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"29573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1250\",\"id_control\":\"29573\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1249\",\"id_control\":\"p29579\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:28",
    "ubicacionGPS": "LatLng(lat: -23.1530322, lng: -69.9485968)",
    "horaLlegada": "13:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 14:28:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:28:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76025226

[10/08/2026 14:28: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('76025226', 'EP3161', 2, 24456550, 0, NOW(), 
				'08:00', '13:12', '14:28', 1, '•Se configura mediante wifi "Madrugador Geología"
•Se configura SMTP para escanear a correo
•Se instala impresora en 11 PC
•Se realiza inducción
•Recepciona Geraldyn Madl
───────────
[!]Recordar que el computador debe estar conectado al mismo wifi de la impresora, de lo contrario esta no imprimirá. Si se manda a imprimir mientras el usuario está en otro wifi, los documentos pueden quedar en cola y se imprimirán automáticamente cuando se conecte a la red wifi de la impresora', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786386490.png', 's', null, 'COMPLETADO','LatLng(lat: -23.1530322, lng: -69.9485968)' )
				
[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201417

10/08/2026 14:28:10 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76025226'
				   AND serieintmaquina = 'EP3161'
		
10/08/2026 14:28:10 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3161'
				   AND estado = 1
				
10/08/2026 14:28:10 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76025226', 'EP3161', 1, 1, now(), '23°09.190' S, 69°56.919' W', 'Baquedano', 'Oficina Geogía');
				
=========================================
FECHA: 10/08/2026 14:28:10
listaInsumosUsadosConsolidado===

idReport:201417

idInventario:EPS-I1240

idControl:29573

cantidadAsignada:1

cantidadUsada:1

[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201417', 'EPS-I1240', 1)
				
[10/08/2026 14:28:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29573 and
				    IDproducto = 'EPS-I1240'
				

10/08/2026 14:28:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
=========================================
FECHA: 10/08/2026 14:28:10
listaInsumosUsadosConsolidado===

idReport:201417

idInventario:EPS-I1241

idControl:29573

cantidadAsignada:1

cantidadUsada:1

[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201417', 'EPS-I1241', 1)
				
[10/08/2026 14:28:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29573 and
				    IDproducto = 'EPS-I1241'
				

10/08/2026 14:28:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                
=========================================
FECHA: 10/08/2026 14:28:10
listaInsumosUsadosConsolidado===

idReport:201417

idInventario:EPS-I1242

idControl:29573

cantidadAsignada:1

cantidadUsada:1

[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201417', 'EPS-I1242', 1)
				
[10/08/2026 14:28:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29573 and
				    IDproducto = 'EPS-I1242'
				

10/08/2026 14:28:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                
=========================================
FECHA: 10/08/2026 14:28:10
listaInsumosUsadosConsolidado===

idReport:201417

idInventario:EPS-I1243

idControl:29573

cantidadAsignada:1

cantidadUsada:1

[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201417', 'EPS-I1243', 1)
				
[10/08/2026 14:28:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29573 and
				    IDproducto = 'EPS-I1243'
				

10/08/2026 14:28:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
=========================================
FECHA: 10/08/2026 14:28:10
listaInsumosUsadosConsolidado===

idReport:201417

idInventario:EPS-R1250

idControl:29573

cantidadAsignada:1

cantidadUsada:1

[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201417', 'EPS-R1250', 1)
				
[10/08/2026 14:28:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29573 and
				    IDproducto = 'EPS-R1250'
				

10/08/2026 14:28:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1250';
                
=========================================
FECHA: 10/08/2026 14:28:10
listaInsumosUsadosConsolidado===

idReport:201417

idInventario:EPS-R1249

idControl:p29579

cantidadAsignada:1

cantidadUsada:1

[10/08/2026 14:28:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201417', 'EPS-R1249', 1)
				
[10/08/2026 14:28:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = p29579 and
				    IDproducto = 'EPS-R1249'
				

10/08/2026 14:28:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1249';
                
10/08/2026 14:28:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201417'                    
				WHERE idllamado = 13709			
				TO ENVIO: VSALINAS@MARIMACA.COM, gmadl@marimaca.com, donkhapone@outlook.com


10/08/2026 14:28:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13709			
				
10/08/2026 14:28: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/08/2026 14:28:10 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-ydo-c1XrnvVGYSPllsqTN4QXBrFoC+maUt94WuY+pO1pc9DTIOH
10/08/2026 14:28:10 Detectado modo MULTIPART/FORM-DATA
10/08/2026 14:28:10 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786386490.png
10/08/2026 14:28:11 Envío correo: OK
------------------

10/08/2026 14:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:28:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 14:28: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13709
LIMIT 1;
        

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 14: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;
                

10/08/2026 14:28:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 14:28:13 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 14: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;
                

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13709
                and cs.estado_control = 1;
                

10/08/2026 15:31:33 - INPUT: {"rutTecnico":"27729424"}[10/08/2026 15:31:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/08/2026 15:31:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EMPRENORT LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76522970
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLENCORE CHILE SPA
            [ciudad] => LAS CONDES, SANTIAGO
            [RutCliente] => 76821240
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

)
[10/08/2026 15:31: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 15:31:36 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:31:36] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 15:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13730
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 5
            [otrafalla] => 
            [nombrefalla] => Hoja con manchas
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 13:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 5735196
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1979
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15:31:39 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:31:39] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 15:31:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13730
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 5
            [otrafalla] => 
            [nombrefalla] => Hoja con manchas
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 13:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 5735196
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1979
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:03 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:33:03] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 15:33:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13730
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 5
            [otrafalla] => 
            [nombrefalla] => Hoja con manchas
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 13:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 5735196
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1979
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15:33:05 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:33:05] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 15:33:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13730
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 5
            [otrafalla] => 
            [nombrefalla] => Hoja con manchas
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 13:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 5735196
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1979
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15:33:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:07 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:33:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 15:33:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13730
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 5
            [otrafalla] => 
            [nombrefalla] => Hoja con manchas
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 13:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 5735196
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1979
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/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 = 13730
                and cs.estado_control = 1;
                

10/08/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 = 13730
                and cs.estado_control = 1;
                

10/08/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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:33:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:36:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:36:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 15:37:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Bi9mFIQVSA5m38uiXcj+mpW_mx0OpLBH7dr69a9Fc4yD3ss_uin
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "5735196",
    "serieinterna": "TO1979",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "991989",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "manchs",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "13730",
    "observacion": "unidad derrama mucho toner se cambio el cilindro pero sigue manchando \nse recomienda cambiar unidad. de imagen ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACqAIwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUBAgf\/xABAEAABAwMCAgYIAwUHBQAAAAABAAIDBAURBiESMRNBUWGBkRQVInGhscHRIzJCBzOCkuEkNTZSosLwQ2JjctL\/xAAYAQADAQEAAAAAAAAAAAAAAAAAAgQDAf\/EADQRAAIBAgIHBgUDBQAAAAAAAAABAgMRITEEEjJBUXGBEyJhobHBM5HR4fAUQlIkRHKC8f\/aAAwDAQACEQMRAD8A\/ZkREAEREAERYaurhoaSSqndwxxjLjjKDjaSuzmajvhtFMxkDekq5zwxM5478da0TbdVlvT+tYRJ+bogNu3HLHd9V86co5bpcJdQ17PaeeGnjLdmgYw4fLzKqVq2oYIkhF17zk2lu3depwLPqGSep9W3WD0WuaNs7CT3f83XfXI1DZ2XShL424q4RxQPHPI3x4r50xdjdbU0yn+0QHo5c8yeo+PzylaTWsh6cpQn2c3fg+P3OyiKbvd2q6m4sslnfw1Dt5phyjHv6v6gc1yMbs1qVFTjdlIilpbFerWDVWy6SVLgCXwyjZ57hnC6Nk1DFdS+nmiNLWRbPhed\/DO\/h1LrjhdYmca\/e1Zqz\/N52EREhQEREAEREAEREAFLape+5XShsMTwBK7pJiOYG\/0BPkqlS1hBuOqbncnEuZEehjJ9+Nh7m\/FaQwvLgS6T3lGn\/J+WbKaKJkMTIo2hrGNDWtHUByC+0RZlQUpDiz66fCDwQXCPiAztxH65B81VqZ1o30eKguTB7dLUDr5g7\/7R5rSnnbiS6SrQU1+13+p2bxXi22moqycOYz2Nv1HYfEhc3SFtbSWhtU8cVRV\/iOeRvg8hn4+K19XyGrdbbZE45q5gXYH6eWT558O5UrGNjY1jBhrQAB2BGUOYLv1290V5s+lxb9YfWHDWUb+guEO8cg24sdRXaRIm07o3nCNSOrI4un796zY+lqmdDXQbSRnbi7wPmu0pnU1vlpJWX63DhngIM4H629p7ew93uXct1fDc6GKrgPsyDcZ3aesFNJK2sjGjOSbpzzXmvzM2kREhSTlLPNJr2tgMr+ijpwQziPDnDOrxVGpi2+3r+6P5YgDceDPsqdPPNcibR3dS5v1CIiQpNW51XoVsqarO8UTnN9+NviuVoyk9F0\/G8jDp3mQ+7kPgPiset5nMsjadm76mZrA0HmBv8wF3aWnZSUkNMz8sTAweAwtMocyba0j\/ABXr\/wAMyIizKQuNqyDp9N1QAyWAPHgRn4ZXZWrdIuntVXEBkvge0Dv4Smi7NMzqx1qcl4EnaJhc9T2+R+HinoW+4Oxg\/Eq2UDoFhddqiQ5PDBw+bh9lfJ6uErEugtypaz3sIiLIuPHNDmlrgCCMEHrUnb86a1K+3Pz6FXu4oHf5XdQ+nkVWrh6toHVdmdNEPx6UiVhHPA5\/DfwTweNnvJtIi9XtI5xx+qO4i0bNcBdLVBV4w57cPHY4bH4reStWdjeMlJKS3kxZgXazu8hGCGgDvGR9lTqYtuYte3OI7B8IcO\/8n3Kp008zDRtl836hERIUkxqgek3qy0Y5Om43jltlv0BVOpiuIm\/aDQR5y2KAuIPbh5HzCp08skiajjOcvG3ySCIiQpC8cA5padwRgr1EAROgI+Gqr8jJY1rcj3n7K2UjoZgbNdCHcQ6Roz7uL7quWlXbZHoKtQXX1CIizLAvCARgjIK9RAEvpY+rrncrK846KTpIgTuWn+nCfFVCl7s71drO3VfEWx1TeifjrPLf+ZvkqhaTxs+JNo3dTp\/xflmiYrB6Fr2km5MrISxx7SAfs1U6mtawOZR0tyi2ko5gc7bA\/wBQFQwTMqKeOeM5ZIwPae4jKJYxTCj3ak4dfn9zIi+JjIIXmJodIGngBOxPUsNBJVy0Ub66FkFQc8bGO4gN0hRfGxwYfxf2iVH\/AIaYfJv\/ANKnUxavxNdXWXnwxBmf5fsqdNPNcifRspPxfqEREhSF8ve2NjnvOGtBJPYF9LhavrjSWN8TATLVHomgZzvz+G3iuxV3YzqTUIOT3HO0Dl0NfLyD5G7ef3VcpPQTHR0lax4w5swBHYcKsT1dtmGh\/Aj+bwiIsysIiIAmtcMLbVBUs2kgqGlrh1bHr6twFRxvEkbXjk4Arjawj6TTVSRzYWO\/1Bb9ok6az0Un+aBhPv4QnewiaOGkSXFJ+ou1GK+1VNL1yRkN\/wDbmPjhc7R1X6TYI43E8dO4xOB7tx8CF3VLWRotWrLjbcYjqB00XIDtwPMj+FdjjFo5U7taM+OHuipREWZUTFj\/AMYXnw+ap1MWP\/GF58PmqdPPMm0XYfN+oRFo3O70dpg6Spkw535I27ueewD6pUm8Ebykoq7eBtTTR08L5pnhkbBlznHYBS1MyXVN+ZXyRvbbaM\/gh4xxu2PLv2J9wC8jprpqyZstaHUdsaeJsIOHSe\/7+SqqenipYGQQRiONgw1reQT7HMlx0hptWivP7E5pH2LheouRZU\/l7N3fZU6mNL\/37f8AHL0n\/c9U65U2h9F+EuvqwiIkKQiIgDlamZx6crRv+7zt3EFfWnH8enqE7fugNu7ZZL43isNeM4\/s7z5NJWrpJ3FpmjOMbOHk8hP+zqTf3P8Ar7nZUxq6E0c9DfIgS+mla2QDrZnP3H8Sp1r19HHcKGakl2bKwtz2dh8CuRdncetT7SDis93MyQzMqII54zlkjQ5p7QRkLIpzR9fI6lltVVtUUTi3B58OfodvJUaJKzsdpVFUgpExaPZ1vdmjYFgJHf7P3VOpi2+xr+6M55gDs+DPuvbpeKu51jrRYz7Q2nqQcCMdx+vknlFt9CalVVODvxeHUzXjUckVV6ttMPpdcch2N2x+\/v8Al1ry1aYayb0+7yemVr9zxnLWHu7fkOpb1lsdNZactjzJM8DpZXc3H6DuXTXHJLCJpGi5vXq58Ny+rCIizKiY0p7V3vsg5Oqdv5n\/AHVOpjSpIvF+ZnIbVczzPtP+yp09TaJtF+EuvqwiIkKQiIgDUuzQ+z1rTyNPIP8ASVztHOLtM0wP6S8D+YrrVTBJSTMPJ0bh8Fw9DvLtPAH9ErgPgfqnWwyaWGkR5P2KJERIUkrfY\/U2oqO9s9mGZwiqPv5b\/wAKqQQRkHIK07vbmXW2TUb3cPGPZdjPCQcgqchrdQRUQsrKCUVDB0Yq+oMzgHsz35WttdLwI3LsJywwePXh1NO5CpuGs6mntlQGvkZ0UjwccAAAd8upV9qtVNaKNtPTt73vPN57SpWktYsGrbbEJDKZoj0j3dbyHA4+Ct12o8ElkJokO9Kcl3r\/AC3hERYl4REQBMac\/D1NfIuXFKH48XfdU6mLd+Hr+5MP64A4HwZ9\/gqdPUzJtGwg1wb9QiIkKQiIgDHMeGCRxwMNJ39y4GhuL1AS4k\/jOxk9WByXauUgitlVIeTIXuPg0rk6LYW6bhJ\/W95Hnj6J1sMmljpEeT9jvoiJCkIiIAl9WH0e62asI9iOfDieQ3afuqhT2t6d01g6VnOnlbIT143H1C7NDUisoIKkf9WNrvMLR4xTJqeFea42fsbCIizKTFNUwU5YJ5mR8Zw3jOMnsWVR+tH01bUU9vgifPcc4aGO\/IDg4I7\/AOq9oLtd7DEKC4WuWdsY\/DlhG2OzYYK07O8bojelKNRxksFv9mZrjILTrOmrpjw09XGY3O7HcvD9KpJ6mCljMlRMyJg\/U9wAUjc6q6angZR01ndFC4h3TTjGMHqPV8StWxWiG4XWeivUk0lRSANbEXnhLRtsefZyxzTuKau9xhGu4zcaaupPBvBX3lJLq2xxP4TXBxzg8DHOHmAs1NqKz1ZDYrhDk8g88BP82FkislqhZwst1NjGN4gSR7ysFVpizVY9qhjjPUYvYx5bLPueJV\/U+HmdVrg5oc0ggjII616peXS1dQF01juk0Ts8XQyuy0\/TzC8p9WT0Mwpb\/RPppOqZjctPfj6jK7qX2cTn6jVdqq1fHd8zrailMOnq5wOMxFvnt9V86Yi6HTlE3tZxeZJ+q5GobrDe4Ke1WuX0h9TIOMszhrRvvnHv\/hKqIIW09PHC38sbA0e4DCHhGzCDU67lHJK3uZERFmVBERAGCtphWUM9MTgSxuZnsyFxNG1LvV81ul9mailcwtzkgZ++R4KiUrd6apsN6N9pIjLTSDFVG3q7T9ff71pHFOJLWvCUaq3YPl9iqXL1Bd2Wa2Pn5yv9iIf92OfuC1qjWFphpeljlfLIQS2IMIOR1HIwFq2m11d1rxeb0wtLTmmpzyYO0hCjbGQTra\/cpO7fl4m1pqyuooTXVoLrhU5dI5xyWgnl913URI227s3p0404qMQprVNFPTyw32gGJ6X96B+pn\/M+B7lSr5exskbo3tDmuBDgesLsXZ3OVaaqQ1TDQVsNxooquA5ZI3OOsHrB7wthSunC+0XyssUjsxnMsBJ5jbby+SqkSVmLRqOcLvPJ8wscsMVRGY5omSMPNr2gjyKyIlNszVpLbRUJJpaWOIkYJa3fHPGVtIiL3OJKKsgiIg6EREAF45oc0tcAQRgg9a9RAGpFa7fDN00dHA2TiLuIMGcnr+C20RF7nFFLJBERB0IiIAl9WB1urrfe4Wjihk6OTvB5fDiHiqdpDmhw3BGQvHsZI0se0OaeYcMgr6TN3SMYQ1Zya32CIiU2CIiAP\/\/Z",
    "razonSocial": "JULIO ABASOLO",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "YASMIN",
    "correoContacto": "coordinadora1@abasolonotaria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "5",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOR-R744\",\"id_control\":\"29586\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6457864, lng: -70.398416)",
    "horaLlegada": "15:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 15:37:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 15:37:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:5735196

[10/08/2026 15:37: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('5735196', 'TO1979', 1, 27729424, 991989, NOW(), 
				'08:00', '15:32', '15:37', 3, 'manchs', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786390670.png', 'unidad derrama mucho toner se cambio el cilindro pero sigue manchando 
se recomienda cambiar unidad. de imagen ', null, 'REPROGRAMADO','LatLng(lat: -23.6457864, lng: -70.398416)' )
				
[10/08/2026 15:37:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201418
[10/08/2026 15:37:50] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201418', 'TOR-R744', 1)
				
[10/08/2026 15:37:50] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29586 and
				    IDproducto = 'TOR-R744'
				

10/08/2026 15:37:50 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOR-R744';
                
10/08/2026 15:37:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201418'                    
				WHERE idllamado = 13730			
				TO ENVIO: micorreo@miempresa.cl, coordinadora1@abasolonotaria.cl, donkhapone@outlook.com


10/08/2026 15:37:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 13730			
				
10/08/2026 15:37:51 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('5735196', 'TO1979', 1, 'APP', 'sin otroTipo definido', 5, 'Sin otrafalla definida', 'Sin coderror', '1', 'SI', now(), 'YASMIN', '984818954', 'coordinadora1@abasolonotaria.cl', 13730)
				
10/08/2026 15:37:51 Insertado nuevo llamado creado idllamado: 13732APP
10/08/2026 15:37: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/08/2026 15:37:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                
10/08/2026 15:37:50 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-Bi9mFIQVSA5m38uiXcj+mpW_mx0OpLBH7dr69a9Fc4yD3ss_uin
10/08/2026 15:37:50 Detectado modo MULTIPART/FORM-DATA
10/08/2026 15:37:50 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786390670.png
10/08/2026 15:37:51 Envío correo: OK
------------------

10/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:53 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:37:53] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 15:37:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15:37:53 - INPUT: {"rutTecnico":"27729424"}
[10/08/2026 15:37:53] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13730
            GROUP BY l.idllamado;
            

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15:37:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                

10/08/2026 15: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 = 13730
                and cs.estado_control = 1;
                
[10/08/2026 17:34:29] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 17:34:29 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 17:34:29] 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/08/2026 17:34:29 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

)

10/08/2026 17:34:30 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:32 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:33 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:33 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:33 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17: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;
                

10/08/2026 17:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:33 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17: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;
                

10/08/2026 17:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:33 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:34 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:34 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:34 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

10/08/2026 17:34:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:34 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:34: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/08/2026 17:34:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:34: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/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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/08/2026 17:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

10/08/2026 17:34:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

[10/08/2026 17:34: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;
                

10/08/2026 17:34:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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;
                

10/08/2026 17:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:46 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34: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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:46 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:47 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 17:34: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/08/2026 17:34:47 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/08/2026 17:34: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/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:34:47 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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/08/2026 17:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:47 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:34:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                
[10/08/2026 17:34:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 17:34:54 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 17:34:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/08/2026 17:34:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

)

10/08/2026 17:34:55 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:34: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/08/2026 17:34:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:35:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 17:35: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/08/2026 17:35:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:35: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/08/2026 17:35:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:35:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:35: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/08/2026 17:35:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:41 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:36:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

[10/08/2026 17:36: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;
                

10/08/2026 17:36:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17:36:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17:36:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17:36:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:36: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/08/2026 17:36:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17:36:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17:36:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:36: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;
                

10/08/2026 17:36:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:58 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:36:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:36: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/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:58 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:36: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/08/2026 17:36:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:36: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/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:36:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:36: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/08/2026 17:36:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:36:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:00 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:37: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/08/2026 17:37:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 17:37: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/08/2026 17:37:01 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => ARTICULOS OFICINA
            [FechaLlamado] => 07/08/2026
        )

)
[10/08/2026 17:37: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/08/2026 17:37:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:37: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/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:37: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/08/2026 17:37:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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;
                

10/08/2026 17:37:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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;
                

10/08/2026 17:37:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:07 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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;
                

10/08/2026 17:37:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37: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/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:37: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/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:37: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/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:37: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/08/2026 17:37:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13654
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78036579
            [ClienteRazonSocial] => DARCY PACHECO SOLUCIONES DE PESO CHILE SPA
            [ciudad] => LAS CONDES 
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2854
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:37:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 17:38:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5Cvzwxu9svbSNm890ACTN9cDFdidIYBrSWpybNfaD_Wvd5o9pzA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78036579",
    "serieinterna": "EP2854",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumos retirados en sucursal",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13654",
    "observacion": "insumos retirados en sucursal\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC6ARYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA9EAABAwMBBQUGBQIEBwAAAAAAAQIDBAURBhIhMUFREyJhcYEUMpGhscEVI0LR8FLhFiUzU0NjcoKSovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAtEQACAgEDAgUCBgMAAAAAAAAAAQIRAxIhMUFRBBMiYXGB8BQykaHB4bHR8f\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDeLmy022Src1Hq3CNYrsbSry+\/oSlborKSinJ8ImqqImVXCIfEc0UyKsUrJETjsuRf5wUzMem6u8wxVN2uU+JEa5adnut3Y6qmV3Lw6nefRFtd3qWSemkT3Va7aTPLKLx4dUL6Y9Wc\/m5nuobfO5owUemLjUVkFTT1T1klpJljWRVTLkyuM4JN\/uzLPbXzK5EleithRd\/ewuPQrpeqjVZovH5nQh3nUjqWqS322BautVN7WplGfDng+dJXSqucFQ+sqWSyNeibCJsuZ5p0\/udtN2qWipXVdarnV1T3pVfvVqZ3Jn5r\/AGK++Qy2C7MvtI1VgkcjaqNOeefr9cGlRfpRyN5Y1mk9u3ZffJqwc6eeOqp454XI+ORqOaqc0Ohiegne6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABndbxvksHcartmVrlwnBMLvNERLrR\/iFrqaTnLGqNyv6uXzwWi6kmZZoa8corqjrSyMlpIZI3bTHxtc1eqKh2KLSFYlRZG07lTtaVyxPTOcdP54Eu\/3FbZZ5qlvv7mM8FVcZ9OPoHF6qIjlTxLI+KKrRyLLNdaxVz29T7ye6uFVd3\/l9Dy5I66a0o6Jd8NIztZEXeirx3p57PEsdM25bbZImPXMk35si55uRPthPQr3qtv1+kkjcR18Gw1y8MoifdqJ6ml3JtHJpccMIy6tX9d\/8l9X10NuopKqfOwzGcJld64MzHa7zqZrqi4Vb6KkkwsdO1OLfFN3xXj8CZrlHLY2KjdpjZ2q\/fywpfU0kU1LFJAqLE5iKzHTG4qnpjaNpxWXK4S4S472YGdLxpi4Mooq5WU6rtRPen5bs8l448fj4l9QaolhqG0V9pvY5XJ3Jv0P9eHqi48i5udsprtRupqlmWrva5OLF6oY+pZLa4Pwi\/wATpqFVVKarYmXRryVN\/Dw+qGiamt+TllDJ4aVxfp\/b4fb2Zu0VFTKLlFPTN6Puj6mmlt8ru0fSYRsiOyjmcv55GkMZR0uj0cWRZIKSAAKmgAAAAAAAAAAAAAAAAAAAABD9g\/zX2\/2mb\/S7PsdruceOPgTACbIUUuAACCQAUF\/udYtXFZ7UqJVzt2nP\/wBtu\/nyXd\/NxKVujPJkWONsm3HUFsti7NTUp2mFxGxNp3y4epVLrq3p3vZKtY\/6kan7k606ZobdCizRsqqly7T5pWo7f4Z4fUuERETCJhEL3Be5ilnlu2o+1WVtt1Dbbq7Ypp\/zMZ2Hpsry+PEszMawt1Oy3tr4GpDUxSMRHsTCu38N3iufQ0VNN7RSxTf7jEd8UyRJKrRfHOepwnyjMwypp7Vs8MyubSXJduNyr3WvVf3VU9UKvVV4qKuuktU0cSRQ1DXMVqLtKmF4rnHM1t9tEd5tr6dcJK3vRP6O\/ZT85kWsra2R8zfz4WIsmdyrsYTK5548jbHUtzzfF68S8tcN7fyj9YK29WeK8UiMVdiaNdqKTm1f2XCHzQ6itlbSsl9shicrcvZI9Gq1efEgV2roe29ktEDq+qdubsouwi\/f6eJioyvY9DJlwuHqdpkGS81NDA61alpHvhkRWNqWb9tOvivDx6ocqKkqGR\/5LqiLsUTLIpnYVvgqLnHwLGg05VVdYlwv8ramRE7lPxYzz5en1JU+kLJOqL7KsS\/8t6pn04GmqK2\/4ciw5peqvi3Tr5RGp01BRVUM91vND7JnvJuRXbuCd1PqLrqy0rBJSxJ7dJIisSNG9xV4YVV+x9xaIs8Um05J5Uyi7L3pj5IilvS22ioUT2aliiVEwitbvx58SrcLv+jaGPPTjdL3bkzI2\/Tl8t9O242+ZkM8iZdSuTHd4o1c8\/PGOpYJqS9pB2btPyrU44ptbPPfjHDd19d5qAQ8l8ovHwvlqscmimsq36Solmu3YxROamxCxEyi9c7\/AJqC5BRu2dEIaFV38gAEFwAAAAAAAAAAAAAAAAAAAAADN6wmno46Gtilka2KoTba1y7LuaZT\/t6czRoqKmUXKKWapJmccmqcodq\/c+JpmU8Ek8i4ZG1XOXoiJlTO6UplrZajUFTlZ6l7mxpyaxMJu+GPJC4vTHSWSta1cKsD\/opE0m5q6bpUaips7TVRUxv2lLLaDZlP1Z4p8JN\/UuQD5c1r2KxyZa5MKnVDM6TLakqW3quprFRSba9ptzuau5qJyz6r8jUta1jEY1MNamETohBtVlorPG5tLGu073nuXLl8MlgXk1wjDFCSbnPlgjpQ0rap1U2njSZ6Kjno3e5N3HrwQkESpulFR1UFLPO1s1QqJGziq53J5b9xVX0NZOKVyIdTpezVUyzSUabTve2XK1F+Ck6jt9Jb4+zpKdkLV47Kb181JIDk3tZVYoRdpKwACDQAAAAAAAAAAAAqrne0tlyo6WSBViqnbPbbWEavD7oWpU6ltqXOyzRtbmWNO0j805eqZQ909dW3a1xyOeizxpsTIi\/qTn68S7S02jCM2srhLruv5RagAobgAAAAAAAAAzlFqGqprl+G32KOCV3+lMzKMf04\/U0ZXXq0QXmgdTyoiSImYpObHft1LRa4ZjljOtUHuuncsQUWmrnNURzW6tRUq6Jdh6qvvpwz8voXpDVOi+OayRUkU2raf2jTlVuy6NEem7hhUz8skqyVPtdlpJsqquiRFVeKqm5fmhLmhZUQPhkTLJGq1yeCmb0rJJbq2tsVQ\/fC7bhz+pq8cfJfVS63hXYwl6M6l0ar68mnVEVMKmUUylpnbpu91FoqX7FLO\/bpnuXcmeX2z1Q1hAu9oprzRrT1CYcm+ORE3sXr\/YiLS2fBfNjlKpQ5X3RPBkmVmodObMVZT\/iNG3DWyR73NTz4\/FPUsIdY2WVO\/UPhd\/TJGuU+GUDg+m5WPicb2l6X77F6Cmk1bY40z7cjvBsbl+xXz6jrLw9KTT8D8uRduolbhGeXL\/7wChImXicS4dvstyyvl\/gtLOxb+ZWSp+VE3rwRV6Jki2DT74JXXS6fm18q7WHb+y\/v9OB0s2mmUFQtdWTrV1rk3yO3o1fDPwyXpLaSqJWGOWSWvKuOF2\/sAAzOoAAAAAAAAAAAAAAAGRubf8N6mhuUSbNHWLsTtTgi81+\/opriNcKCC5UUlJUNyyROPNq8lTxQtGVPcxzY3OPp5W6JDXI5qOaqKiplFTmQqW8UVZXzUUEivlg9\/DV2fHfwMmy91VjtdbZ6iR7aqnXZp5McWqvLPxTwXwNLp20xWm1RsamZZUR8rl5uVOHkhZw0q2ZY87yySivn29ixnnipoXzTyNjjYmXOcuEQzb9SXK5zuisNAkkbeM8yYRfLen85HOuSXU2oXW3acy30S5l2V993D65T0U1EFPDSwthgjbHG1MI1qYRBSit+Rc8zai6iv1ZnGw6zbiVaqjfj\/hKib\/8A1+55p28VzblPbL05WVLl24tvCZ6tTG7yx4moMXqqjbcdUUVLTybFS+JcuT9OMq3Pz9C0WpbNGeaEsNTjJvfhvmzaAztlvszan8IvCdlWs3MevCXpv6\/XzNEZSi09zrx5I5I2gAQ7pcIrXbpauVdzE7qccqu5ECV7F5SUU2yktjkl19dJI3ZY2FGr\/wBSbCfZTTmf0dQyU9rfWVG+atf2q5Tfs8vjlV9TQFp80YeGT8vU+tv9QUd8sMtdV09woJm09bA5O+7g5PHCfxNxeAqm07RrkxxyR0yPEzjfxPQCC4Is9roKl21PRQSO3950aZ38d5KAuiHFPlEGOyWqNcst1Ki9eyapMZGyJuzGxrG9GphD6BLbZCjGPCAAILAAAAAAAAAAAAAAAAAAAAAGT15bo30Mdwa3Esb0Y5UTi1c8fJfqSKHU\/tem6mqyxtbTxqjm8Ezwa7yzgvK+jjuFDNSS7mysVuenRfRT8yutDVWtyQVML4np3GyN92ZmeeOfD78DohU1pfQ8vxLngyPJHhrf5NxpCh9lsjJ3Krpape1eqqvp8vqXpntMXijdYIGVFXBHJCisc18iNVERd3HwJFdqq1UcSuZOlU\/OEZAu1lfPgZyjJyZ1YcmKGGO+1FrPUQ0sLpp5GxxtTKucuEQzmmIVr7lXX2WNyds\/Yg2t\/d5qnwRPRUODLdddUVUdRdo1pKCNcsp0VUc\/+dV9DVQwx08LIYWIyNiYa1qbkQOoqupEbzTU2qiuPf3IN4sdHeoUZUNVsjfclZ7zf3TwKZtPqqyorKeSO5U7fdST3kT1XPplTVghTaVGk8EZS1LZ90Zlb5qN35bLBiTq5y7P7fM8prHc7pcWV9+e1jIlRYqWN3dRfmnzVVNOBrrhFfw9v1ybPGtRrUa1ERETCInI9AKHSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADnNBDUxLFPEyWNeLHtRyL6KdAA1ZhNWaYbRt9vt8WIETEsbf0dFTw6\/zHzZ7XePZoaq3w25UeiK2VURzmrjx4Kn7m7exskbo3tRzXIqOReaGVt8j9MX1bVLvoax+1TvVfdVd2Pt8FN4zbjR5eXw0IZVPhPt0Z1bpm43F7ZL1dHyNRyOSGHc3+ehpkTCY6HoMnJvk78eKOO66gAFTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFVqK1JdrU+NqfnxfmQqnHaTl6lqCU6dorOCnFxfDKnTVzW6WWGV7tqZn5cvXKc\/VML6lsZnTEa0t6vNI3HZpNtNREXdvX04Khpi00lLYy8PJyxrVzx+gABQ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXXu7Q2i3STveiSKipEzO9zvDyIt51NTW1y01O32qtXc2Jm\/ZXxx9OJGtWn6mesbdb3J2lTnLIUXux9M8vRPmaKNbyOaeVyfl4t336L77EjSltdQ2xZ5sLUVbu1kdjG7knBOq\/FS8AKN27NscFjioroAAQXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCud2o7TTrNVy7P9LE3ud5ISlfBEpKKtvYmgy9NrmjfTPkqYXxybeI4o121cnywc+31Lf34gjW10i\/rdlHqn1+GPMv5b67HN+Kxtej1P2+9i9ud6oLTGrqqdEfjKRt3vd5J+5QrPqHUa4pmLbKF363bnuT6\/DCeJZW\/SluopO3mR1ZUKuVkn72\/qifvlS7FxjwPLyZfzul2X8v8A0Vdo0\/Q2hqOiZ2lQqd6d+9y9cdC0AKNtu2dEIRgtMVSAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGfv+oZ7fOlBQ0ck1W9uUXYVUROqInvFNS6Rul1qErLxUdntb1aq7T1Tp0T+bjcbKbW1hM4xk9NFPSqRyT8MssryO126FXbNO2204dTw7Uv+7J3nf29C0AKNt8nTGEYKoqkAAQWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP\/Z",
    "razonSocial": "SOLUCIONES DE PESO CHILE SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "DARCY PACHECO",
    "correoContacto": "leandro.pereira@grupodarcypacheco.com.br",
    "correoCliente": "RAFAEL.DUTRA@GRUPODARCYPACHECO.COM.BR",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56977023794",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29544\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29544\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"29544\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"29544\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "17:38",
    "ubicacionGPS": "LatLng(lat: -23.6618048, lng: -70.4000014)",
    "horaLlegada": "17:35",
    "horaDespacho": "13:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 17:38:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 17:38:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78036579

[10/08/2026 17:38:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78036579', 'EP2854', 1, 19969062, 0, NOW(), 
				'13:18', '17:35', '17:38', 10, 'insumos retirados en sucursal', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786397892.png', 'insumos retirados en sucursal
sin contador', null, 'COMPLETADO','LatLng(lat: -23.6618048, lng: -70.4000014)' )
				
[10/08/2026 17:38:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201419
[10/08/2026 17:38:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201419', 'EPS-I302', 2)
				
[10/08/2026 17:38:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29544 and
				    IDproducto = 'EPS-I302'
				

10/08/2026 17:38:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [10/08/2026 17:38:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201419', 'EPS-I303', 2)
				
[10/08/2026 17:38:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29544 and
				    IDproducto = 'EPS-I303'
				

10/08/2026 17:38:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [10/08/2026 17:38:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201419', 'EPS-I304', 2)
				
[10/08/2026 17:38:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29544 and
				    IDproducto = 'EPS-I304'
				

10/08/2026 17:38:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [10/08/2026 17:38:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201419', 'EPS-I305', 2)
				
[10/08/2026 17:38:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29544 and
				    IDproducto = 'EPS-I305'
				

10/08/2026 17:38:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
10/08/2026 17:38:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201419'                    
				WHERE idllamado = 13654			
				TO ENVIO: RAFAEL.DUTRA@GRUPODARCYPACHECO.COM.BR, leandro.pereira@grupodarcypacheco.com.br, donkhapone@outlook.com


10/08/2026 17:38:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13654			
				
10/08/2026 17:38: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


10/08/2026 17:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                
10/08/2026 17:38:12 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-5Cvzwxu9svbSNm890ACTN9cDFdidIYBrSWpybNfaD_Wvd5o9pzA
10/08/2026 17:38:12 Detectado modo MULTIPART/FORM-DATA
10/08/2026 17:38:12 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786397892.png
10/08/2026 17:38:13 Envío correo: OK
------------------

10/08/2026 17:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:38:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38: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/08/2026 17:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:18 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

[10/08/2026 17:38: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/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 17:38: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/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38: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/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13654
                and cs.estado_control = 1;
                

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:38: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/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38:20 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

[10/08/2026 17:38: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/08/2026 17:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13654
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13654
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:34 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:34 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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;
                

[10/08/2026 17:54: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;
                

10/08/2026 17:54:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:34 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17:54: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;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:34 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:54: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;
                

10/08/2026 17:54:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13733
                and cs.estado_control = 1;
                

[10/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

[10/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13733
                and cs.estado_control = 1;
                

[10/08/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/08/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:54: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/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17:54: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/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17:54: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/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:37 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54: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/08/2026 17:54:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13733
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 17:55:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-z9VzWFmNFlW5l5dkhfGFNP3WiASi5O9dimIkPbG4HvOspsN+FL5
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO2783",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de toner\nFirmado por Marjorie Gonzalez",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13733",
    "observacion": "Entrega de toner\nFirmado por Marjorie Gonzalez\nentrega en recepcion\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7AOwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABAEAABBAECBAIIAgcFCQAAAAABAAIDBBEFBhIhMUFRcRMUImGBkaHBMrEHFSNCUrLhJKLC0fAlNVNUYnJzkvH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAgECAwUHBQEAAAAAAAAAAQIRAxIhBDFREyIyQXEjM2GBobHBQpHR4fDx\/9oADAMBAAIRAxEAPwD9mRFyadqdbVIXy1XOc1jyx2Wkcx\/9SiHJJ0daIiEnwkAZJwAs1oG459X163Xw31UML4uWHYDgB8wVcazZFTRrk\/dsTsZ8SMD6lZPYFZxvWbWDwsi9HnHLJIP+FaxitDbOLNkks8IR+ZukRFkdoREQBERAEREAREQBERAEREAREQBFx6hXt2Gwipb9WLJQ6Q8PFxNHZdikhPdqgiIoJCIiAIiICOaVleCSaQ4ZG0ucfcBlZ\/YsRj0Bzjn9pO5w5e4D7Lu3RZ9V29beHEOe3gbjr7Rx+WVJt6ua2gUoi3hPog4jwJ5\/dX5QOZ97iEuif1\/4WSIvEsscEL5pXhkbAXOcegCodPIo96WWQbdlic7D53NY0eOCCfoFNtXTTpuixh7A2WY+kfzz16c\/L8\/isfrd2zr12Ow5rmUfTehrnHj1Pn0+gX6QAAMAYAW0lpgkcGGSzZ5ZOiSR9REWJ3hERAEREAREQBERAEUFW5WuxmSrPHMwHBLHZwVOhCaatBERCQiIgCIiAIiIAiIgCIiAyu+rkY0+Ki2Volkla5zcjk3B5nw54+S74d16FwcAt+jDPZDXRuGPoqDU2eu\/pDjryNDo2Pj9nsQGhxzla1+j6ZI\/jdQr8R6kRAErZqKikzz8byzyzlCudb\/ArbG89HiY70Ur7Dx+FjGH2j5lcbqmr7ofG68w6fpwOTAD7b\/P+vyWih06lWIMFOCIt6FkYBC6VXUl4UbPDPJ72W3RGT3JVhpS6FWrsDIo7GGtHm1axZDfz3Rs0+Rji1zXuLSOx5LR6T6b9U1TYe58zomue53XJGfupl4EyuJpZ5wS6fY7F4kmihbxSyMjb4ucAFn9a1236+NI0eNsttzfafnIj6\/AEdefivNfZsE2J9XszW7Th7Z48N6dPFV0pK5Mu80pSccauvkjRRyxyt4o5GvGcZacr2srd21NpTHX9EtyxyRDjfC92WyAcz5+RVzoWpfrbSYbZwJCC2QDs4df8\/ijjtaLQyty0TVMsUUM9qCqYxNK1hkcGsBOC4+5TKhta5BFFHZgmlkiimY98WONrTnhznr8iotQ1GrpdU2LUnAwHHIZJPuCmnyIcopW3sdS+EgDJOAFHWsw24GzwPD43jLXDuoNXm9X0e5L\/DC\/Hnjklb0HJKOopdhh36jmc796y458fZatMqDaoFLakc8ucYfK4Y7ZP2CsamqQ39LN+sx7mYcWtcMEkdvorz3k2c\/DNRxRi+dWfdU1WrpFQ2LLuXRrB+J58Asza1nczakmquhjq1GgAROblxBI58+fxOOq4HWNTnvO1zUdKlsQQjMcTstawZ69OgwfotZdmh1nbFiWDJZNXc5ocOYIGQDjvkK+lQq1ZzvJLPqptUtl1+JYVZ22qkNhv4ZY2vHkRlTKm2nYNjblUk82AsPwJA+mFcrGSptHdjlrgpdUEVdrerRaRp8kzns9MWn0THHm53kodH1GU7bj1DUpACGOe94HVoJwcDvjsFOl1ZDyx16POrLdFk4jrO55ZbEF1+nUAS2FzAeKTn15EHt9ceK7NFs6hV1ezpF4vstY0SR2CD0PjzOPd5FS4V5mceI1Nd10+TNAiIqHSc9+22jQntO6RMLumcnsuXQLlrUNHhtW2sEkmSOAEcs4B+irN6TufUq6ZEf2l2YNx7gR9yFoYIWVq8cEYwyJgY3yAwFdqonOpOWZpckvqzJUmG1+ka1KRj0DSevg0M+62K44NKp19Rm1CKMtnmbwvdxE555+w+S7EnK6JwY3jTvzbYREVDcx\/wCkFp9WpO7B7x9AtTSlZPRgmjOWvja4fELO77YH6fUB72AM\/ArxR1aTbLhperRvFcOd6vYb7Xs5zz7nr4e5bVqgqPPWRY+Jm5cnW5baHoQ0g2JZJzZs2H8T5S3Gfh8SVbKCtdq3Gh1azFMCM+w8FQW9b0yjkWbsLHDq0O4nfIc1m9Umdcezxw2dIq92utVI6upQOe6OtJ+1iDiGuBxjPuzy+IVTt3cGnaLt9zZZXSWHSOeIWg57ADOMDoui1Zs7wnbSqxS19PjfmWdw\/Hjtj7c+2VpoNMoVpBJDThY8AAODBkYGBz8lpajHTI41GeTM8mN7fH60YbVaup3n1dS1A+ifYnEcMDuXA38\/D7rWbh1puk0sRuabcvswsIzzz1wPBT6xpTNWqtj4\/RSxvD4pRnLCPDmuTTNsw0rpvWbMlyyej5efCfEI5RaV+RKw5McpKH6q3KDbViLQLN39bufDYka0ta5hJd1Jx481NJTv7mFnVJoTFFHE5tWAjm84OPr9cLVWdMoXJRLZqQyvGOb2A9M48+pXSAAMAYAUPJva5lo8I9PZyfdX+3KzblSSloNaCaIxSNBLmnqCXErzuhxbtu6R\/AB8yArZVG6QTtu7gZ9gfzBVTudm+SOjA4ryX4Pehwsk21UheOJklcBwz1BHP81XbOnfCy5pEwAkpynBB5EEn7j6q10D\/cFH\/wADfyXBqml3q+qN1fSOF0zsNnhcQBIP9AK122mZNNRhkiuS39GWeryNi0e69xwBA\/8AlKrtq13Da8MUjS3jD+Tm9iT2XA6lr243ej1JraVDIJjaAHk9uoJ6+S1EMMdeFkMLAyNgw1rRyAUPuxotC8mTtKpJVuZ7YjydDkYeRjsOGD25NK0qzGzP2f6zrf8ACsnn8x9lpJZWQxPlkcGsY0uc49gOpUZPEyeFfsI2ZHeFGtc1ajWhAF2yQHOyfZZ0BIz5\/JWW6Q6ntZ8VfLWMDI8js0Yx06dAuTbLJdW1e5r84LWuJigaew\/oMDzJWmmhjsQvhmYHxvGHNcORCvKWlpdDHHj7SM5rbVy9P7OfSWQx6TVjrva+NkTQHNOc8lJdv1NPh9NbnZCztxHmfIdT8FRS7Kqh7n0rtmoXEHDHZH2P1UlXZ9Nlg2L88uoSkjBmJx8efP4qtR52aqWdLSoL99v5Lupahu1Y7Nd\/HFIMtOMKZeWMZGwMjaGNaMBrRgBelmdKutzG6hqNVu+BNbn4IaMQAwerj4Y6\/i5+XuWqo3q2o1hYqyCSMnGfA+BWL1rQb0m4rBhqOmFkh0cpOGx5wCTjwz98LW6Npg0nTI6gf6Rzeb34xkn\/AFj4LaenSjg4Z5e1mmtrf+\/Y70RFiegEREBmN88tPpuPICyMnw5FaKxWgtwmGzCyWM9WvGQs\/vxvFoMZz+Gw0\/3XD7rRxuL42uPUgFaPwo5YJdtNPovyUNjZWjzvc5rZoeLrwSZ\/mBU9XaejVTkVBKc5zMeLx7dO6uUUa5dS64fCnaijy1rWNDWNDWjoAMAL0iKhuEREAREQBVm4mB+3rwPaIn5c1Zqv14F2g3wP+XeforR5ozy+7l6Mi2y8v25SJ7R4+RIVqqfahDts0yP4XD+8VcJLxMjB7qPogiIqmpmNrH\/bWvNAADbPLA\/6nqXeF50ens06AcVi87ga3vjP3OB8T4Lhh1CDbW5NVbdDxHbxPG4DJdzJwPi4j4KfRa1nWdadr92D0ULW8NWNxyQMdfLmT5nkt2u9qfI8yMrx9jHxNtP4KzQadTZp+nwVIwAImAcu57n4nJXSiLDmekkkqQREQkIiIAiIgCIiAIiICh3pGX7bmcP3Hscf\/YD7q101\/pNMqv5e1Cw8v+0KLWq3rmi24AMudE7hHvHMfULj2jY9Y25Xy4OdFmM49x5fTCv+g5uXEeq+z\/sukRFQ6QiIgCIiAIiIAo7EQnrSwnpIwtPxGFIiBq9jObGlL9BdG484p3Nwe3IH7laNZjaGa1rVtPdzMNjIPj1H2HzWnV8niZzcK\/Yx+H4CIiodJDPUr2SwzwRyFhy0uaDgqUAAYAwAvqIRS5hERCQiIgCIiAIiIAiIgCIiA+EAjBGQVmdkExUrtQnnBZPXyA+y06zG1v2es65Ae1jI8uJ39FePhZzZds2N+v2NOiIqHSEREAREQBERAEREBmKjxS37chkdgXIQ6MdATgf5OWnVBufTJ7ArajRi47lSQFrR+8M5x7+f5lXsZe6NrpGcDyAXNznB8M91eW6TOfCnCUoPra+Z6REVDoCIiAIiIAiIgCIiAIiIAiIgCIiALMaX\/Zt8anXxgSxiQY7nkf8AEVp1AadY3BcMLfWAzgEnfh8FaLqzLJjcnFryZOiIqmoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "SAN ESTEBAN",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARJORIE GONZALEZ",
    "correoContacto": "mgonzalezz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1057\",\"id_control\":\"29595\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "17:55",
    "ubicacionGPS": "LatLng(lat: -23.6541099, lng: -70.3969853)",
    "horaLlegada": "17:41",
    "horaDespacho": "17:38",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 17:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 17:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[10/08/2026 17:55:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO2783', 1, 19969062, 0, NOW(), 
				'17:38', '17:41', '17:55', 10, 'Entrega de toner
Firmado por Marjorie Gonzalez', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786398936.png', 'Entrega de toner
Firmado por Marjorie Gonzalez
entrega en recepcion
sin contador', null, 'COMPLETADO','LatLng(lat: -23.6541099, lng: -70.3969853)' )
				
[10/08/2026 17:55:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201420
[10/08/2026 17:55:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201420', 'TOS-I1057', 1)
				
[10/08/2026 17:55:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29595 and
				    IDproducto = 'TOS-I1057'
				

10/08/2026 17:55:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1057';
                
10/08/2026 17:55:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201420'                    
				WHERE idllamado = 13733			
				TO ENVIO: micorreo@miempresa.cl, mgonzalezz@hssanesteban.cl, donkhapone@outlook.com


10/08/2026 17:55:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13733			
				
10/08/2026 17:55:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

10/08/2026 17:55:36 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-z9VzWFmNFlW5l5dkhfGFNP3WiASi5O9dimIkPbG4HvOspsN+FL5
10/08/2026 17:55:36 Detectado modo MULTIPART/FORM-DATA
10/08/2026 17:55:36 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786398936.png
10/08/2026 17:55:36 Envío correo: OK
------------------

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17: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;
                

10/08/2026 17:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

[10/08/2026 17: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;
                

10/08/2026 17:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:38 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:38 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17: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;
                

10/08/2026 17:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17: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;
                

10/08/2026 17:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17: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;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

[10/08/2026 17: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;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13733
            GROUP BY l.idllamado;
            

10/08/2026 17:55:41 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17: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;
                

10/08/2026 17:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13733
                and cs.estado_control = 1;
                

10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:55: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/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:43 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:55: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/08/2026 17:55: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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;
                

[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:44 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55: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;
                

10/08/2026 17:55:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:45 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:45 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 17:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 17:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:45 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:45 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 17:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 17:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 17:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/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/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/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/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/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/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13734
                and cs.estado_control = 1;
                

[10/08/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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/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 = 13734
                and cs.estado_control = 1;
                

[10/08/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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/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/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/08/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/08/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/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 17: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:17:48 - INPUT: {"rutTecnico":"20988335"}[10/08/2026 18:17:48] 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/08/2026 18:17:48 [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] => 06/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => WF-M20590
            [FechaLlamado] => 03/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 03/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [RutCliente] => 61308000
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 03/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [RutCliente] => 61308000
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 03/08/2026
        )

)
[10/08/2026 18:17:48] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:17:49 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:17: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;
                

10/08/2026 18:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13727
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:17:51 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:17: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;
                

10/08/2026 18:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13727
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:17:54 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:17: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;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:17:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13727
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:17:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:17:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:18:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:18:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 18:18:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-v9dKAZhj+H7LwKbmojLrwqGgfOSAhVUZ3Gbx1-Rvk6tQnEJSWb7
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY3371",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ciudad máquina",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza inicializacion del equipo psrs comprobar su conecto funcionamiento.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13727",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACXASQDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABGEAABAwMBAwgGBAsIAwAAAAABAAIDBAURBhIhMRMyQVFhgZGhFCJxscHRFSNS4QcWJEJicoKSosLwJTM0VJOy0vFEc+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQICCAYABgMAAAAAAAAAAQIDESExBBIiQVFhgaETMnGx0eEUJDNSkfFCcvD\/2gAMAwEAAhEDEQA\/AP2OSWOIZkkawdbjhYPpO3\/56m\/1W\/NT0lJFftV1dPWl4jpGDk2MdgnhnJHb8OHTvfiZY\/8ALP8A9V3zVmrFZsy+JVndwStzf0dF93tsbcvuFMB\/7W\/Na0uprLDzrhEd2fUy73LFHpGxx\/8Ah7X60jj8VnZpyzsORb4Tux6w2veubHM7+YfDuacutLJGCWzyS9jIj8cLW\/HdkxDaK1VdQ48BjGfDK78VuoYCDDR08ZH2Imj4LZXbw4DUrvOaXovlkwLtqmrGaazRwNPTMd48SPcs9DRamNbHNX3KDkWnLoo284dXNHvVAi5r8EdVB3vKTfX4CIigaAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmCfQfwg9Ta6n7sgf\/HmqdTOsonwMobrFzqSYZ3E7iQfePNUUMzKiCOeM5ZI0OaesEZCslikzLR2Zzhzv\/P2ZERFWagiIgCIiAIiIAiIgCIiAIiIAiKFul+rqXVUsjZJTSU0rGvjBOyBgA7uG\/1vH2KcYuWRRWrxopOW8ukXlj2yRtkY4Oa4AtI6QvSgXhERAEREAREQBERAEREAREQBERAEREAREQGtcKNtfb56RxwJWFucZweg+K5Gjax81oNLLtCajeY3B3EDo+I7lQKUi\/sfXcke4Q3Jm0N\/B3H\/AHA\/vKyOMWjLV2KkZ9H1y7lWiIqzUEREAREQBERAF5dtBhLRl2Nw7V6RAcjTl5de6GSokibG9khYWt4YwD8V11A6DreRuc1G4+rUMyP1m\/cT4K+VlSOrKxl0Sq6tJSeYREVZqCj7RRMu9TqOKTcJpdhp+yQ5xB8QPBWCmNH+tV3h45rqnce93zVkXaLZlrJSqQi8sfYzaNrjPaTRygieicY3h3HGTj4juVCpWQ\/Q+uWu2tmC5NAIA3bfDxzj95VS5NY34ndGb1NR5xw+OwREUDSEREAREQBEWheLtBaKF1RM4bR3RsJ57urcupXdkRlJRTk8jYrK2moKd09VM2KNvEn5dK4D9V1FW8ss9qmqh0SuBDc\/0etYrbYai9PZdL89zy7fFT8A1vEZ+XiqljGRsDI2hjWjAa0YAU9mPMzJ1auK2V3+ia5bWVRvFNSUwO8ZIPdxK8\/SuqqI4qrRHUtH50PE+BPuVSia64Il+He6b\/7oTUetqRpDK6iqqV+OBbkfA+SpGkOaHDeCMhfHxslbsyMa9vU4ZC+gADAGAFFtPJFlONSPnlfpY+oiKJaEREAU5rOmf9Hw3GHAmopWvDsb8ZHxwVRrDVU7KukmppOZKwsOOojClF2dyqtDxKbifKKqjrqKGqiOWSsDh8lnU1ouokFHUWyoyJqKUgg9AOdw7wfFUqSVnYUZ+JTUgiIoloREQBERAF5c4MYXHgBlelq3SUQ2qrlP5kDz\/CV1HJOybPzuggkobbS3yJm0YKwtkweLcNx\/MO9fpjHtkjbIxwc1wBaR0hTVgtrK\/RQpZdwqNsg45p2iAfIFZtIVkjqGW21GRUUL9hwP2d+PcR4K6ptX5HnaIvC1Vukr9f6KFERUHpBTGiPWpq+Q8XVJz4feqdTGhfWttW8c11ScHuHzU4+Vmap+tDqbGsaR09m9JiyJqR4la4DeBwPz7l1LXWtuNsp6tp\/vWAnsPAjxBWy9jZI3RvaHNcCHA9IUzpKR9HVV9kleXOpnl0eRxbnBPuPeurGHocexXT3Sw6oqERFWagiIgCIiAxVNRHSU0tTM7ZjiaXOPYFMWakk1Dcn3u4MJp2uxSRO4YB447Md59iz6nmfcK2ksEDiOXcH1DmjOywHd8+4daoKanjpKaKmhbsxxNDWjsCs8sebMjXjVbPyx7v6MqIirNYREQBERAEREAREQBERASso+ideRyAAQ3FmycA8755A8VVKc1rSufao66PdLRyh4PSATg+ez4Lu0dQ2rooKlvCWNrx3jKsljFMy0dipOHVdfszIiKs1BERAEREAXI1VLyOm6x2d7mhviQPiuuprXD3G1QUzOfPUNaM9WD8cKcFeSKNJlq0ZPkdTT8JgsFCw8eRa7hjjv+K415cbFqamuzd1PVjkqgAcO3wwf2SqiNjYo2xt5rAAPYFq3S3x3S3S0cu4PHqu+yRwKRltXZypSbpKMc1a3Q2wQRkHIK+qe0lcZJaaS11eRVUJ2Dk7y3OPLh4KhUZKzsWUqiqQUkYqmTkaWWX7DC7wC4OhowzT5cPz5nOPgB8F0NSVBptPVsgOCY9jP6x2fivOmYDT6domO4uj2\/wB45HkQpryFTx0hLgn3Z1VK6gJtGoqC8NcGxSEQz7ujrPd\/tCqly9R0P0hYqmENy9reUZuydpu\/d7eHeuQdniS0iDlTds1iuh0wQRkHIK+rk6Zr3XCxU8r3bUjBybz2j7sLrKLVnYshNTipLeERFwmF5e9sbHPecNaCSeoL0uDrCtdS2N8MZPK1ThE0N4kHj5bu9diruxXUmqcHJ7jU0pGbjcK++ztO1K8xxbQ4N\/62R3FVK07VRC32umpBxjYA7hx4nzytxdm7sjQhqU0nnv8AUIiKJcEREAREQBERAEREAREQGCtphWUM9MTgSxuZnqyFwdI3CKPT746qVkXocjmO23AYB3jzJHcqVRMtrp3auqbZVco2nrSJ2bDg3Lhk+HPCshZppmOu5QnGcfT+cu53JtW2WHaAq+VcM+rGxxzjtxjzWW0agpr1LIymhnY2MZ25GgA+zB9qz09ltdKQYaCBpHB2wCfE71ugADAGAFxuO4tiq17ya6I+oiKBeEREAUxqv6y7WOnO9r6nLh+0z5lU6mLp+Ua6tdOebFEZOvB9Y\/yhTp53M2lY09Xi17lOiIoGkltRQPs90g1BSg7O0I6lg\/OHX3jd7QFSwTR1MEc8TtqORoc09YKVEEdVTyQTND45GlrgekKTt1wl0pWm03MuNE4l1PPs7gO7z6j7VZ51zRkbVCpd+WXZ\/Zta2kc+jpKCPn1U4A6Tu7PaQqOGJsMLImc1jQ0ewKYtok1BqQ3giRlFSjZp87to7wenrJPgFVJPBKJ2htylU3PBeiCIirNRL6a\/s2+3Oznc0O5aIAYGP+i3wKqFK39ptuqLbdW4DJTyMpxu6sk+w\/wqqVk8bPiZdH2danwfZ4oIiKs1BS94H0jrK20POjpm8s8Hhnj381viqhS+nM1mo7xcHdD+SYesZ+TWqyGF2ZtI2nGHF+2JUIiKs0hERAEREAREQBERAEREAREQBTGrg6jqrbd2bvR5tl5HEg78eR8VTrmaipPTbDVxYy4Rl7fa3ePcpwdpIo0iLlSaWfwdJpDmhw3gjIX1cjS9Z6Zp+leTl0beTd+zuHlhddRas7FkJKcVJbwiIuEwiIgCmG\/X\/hEdjfyFNv7Nw\/5KnUxYfynVl5qx6wYREHH24x\/D7lOGTZmr4yhHn7FOiIoGkLDU0lPWRhlRCyVoOQHDOD2dSzIhxpNWZjhhip4mwwxtjjaMNa0YAWREQ7kEREBwtYUfpWnpnAZfARI3u3HyJXRtFX6daKWpLi50kQ2iftcD55WxPCyop5IJBlkjCxw7CMKe0ZM6Kmq7XKfrKKYjhjcfvB8QrM4ehlexpCf7l3RSoiKs1BTGiPXpq+ccJKk48M8e9U6mNC+pbauH7FSdx48APgpx8rM1T9aHUp0RFA0hERAEREAREQBERAEREAREQBfCARgjIK+ogJjRpNM65W1x\/wANUHAPbkfyqnUvbj6Jry405Gy2ojD2jPOO4\/FyqFOpnczaLhT1eDa7hERQNIREQGGrqG0lHNUOIDYmF5z2DK4WiICyyvqX5L6mZzyT0gbveCsusasU9gkiB+sqHCNo6TvyfIea6lspPQbZTUp4xRhp9uN\/mrMoepme1pH+q7v+jaREVZpCIiAIiIAiIgClotm3\/hBkZgNbXQZA7cZz4tPiqlS+qsUl2tFxGRsTbD3fo5B920rKeduJl0nCKnwaZUIiKs1BS+m80mpLzQvztOfyrQfs5Pwc1VCmNRMktN3pr\/C0mNo5KpaOkdH9dgU4Y3jxM2kbOrU\/a+2TKdFjhmjqIGTQvD45GhzXDpBWRQNOYREQBERAEREAREQBERAEREAREQExc\/qteWyQbtuEtPUed8\/cqdTGq8R3ayTgeuKjHm1U6nLJMzUcKlSPP3SCIigaQiIgOFebVVXO9252PyKnO3IdoYznOMcTwA713URdbukiEaai3JbwiIuEwiIgCIiAIiIAuNqi1VF3tbKem2Ntswf65IGMEdHtXZRdTs7ohUgpxcXkzxEHtiYJCC8NG0R1r2iLhMLHUQR1VPJBM0PjkaWuB6QsiIGr4Mj6esqtH1Ro60OmtkjiYZGjezO\/GPeO9VkM0dRCyaF4fG8Za5p3EJNDHUQvhmYHxvGHNcNxCmptN3G1TGosFYWtONqmkO49HsPfj2qy6nngzIlOhhFa0e6+SpRS51XXW87N4s8sXXJFvb1dO7j29IXQpdV2WqOBWNid1Sgs8zu81xwktxOOk0m7Xs+eHudhFihqqepGYJ45RjOWPDvcsqgXpp5BERDoRFytRXVlptMspcRLICyIDjtEce7iupXdkRnNQi5PJHVRc6ww1cFlp465zzOAS7bdtOGSSAT7PkiNWdhGWtFO1jooiLhIIiICevdjr7jeqKqinZ6NA5pdG4kbOHZJA6cj3KhRF1ybSRXGnGMnJbwiIuFgREQBERAEREAREQBERAEREAREQBERAEREAREQBc+psNqrMmaghJPFzW7JPeMFEXU2siMoxkrSVzmzaItD3bUfLwkHIDJMjzysP4pV0P8AhNQVUe\/ODnf4ORFLxJcSh6LRf+NvTD2Pps2pmb4781x\/Sb9xT0XWNNza2lqW9RaMjyHvRE13wH4aO6TXVg1ms2jZ+jKR36W0P+ay0Vhq6uvZcr7IyaVg+rgbzYz7t39ZRE1+CsFo6vtSb9SiREUDSf\/Z",
    "razonSocial": "DSPRINT",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "francom@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INICIALIZACIÓN",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:19",
    "ubicacionGPS": "LatLng(lat: -29.8988867, lng: -71.2193315)",
    "horaLlegada": "11:53",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 18:18:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:18:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[10/08/2026 18:18: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('76121841', 'KY3371', 1, 20988335, 0, NOW(), 
				'08:00', '11:53', '18:19', 1, 'se realiza inicializacion del equipo psrs comprobar su conecto funcionamiento.', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1786400339.png', '', null, 'COMPLETADO','LatLng(lat: -29.8988867, lng: -71.2193315)' )
				
[10/08/2026 18:19:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201421

10/08/2026 18:19:00 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY3371'
		
10/08/2026 18:19:00 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3371'
				   AND estado = 1
				
10/08/2026 18:19:00 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY3371', 2, 1, now(), 'CSJ', 'ciudad máquina', 'departamento máquina');
				
10/08/2026 18:19:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201421'                    
				WHERE idllamado = 13727			
				TO ENVIO: micorreo@miempresa.cl, francom@dsprint.cl, donkhapone@outlook.com


10/08/2026 18:19:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13727			
				
10/08/2026 18:19: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/08/2026 18:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                
10/08/2026 18:18:59 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-v9dKAZhj+H7LwKbmojLrwqGgfOSAhVUZ3Gbx1-Rvk6tQnEJSWb7
10/08/2026 18:18:59 Detectado modo MULTIPART/FORM-DATA
10/08/2026 18:18:59 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786400339.png
10/08/2026 18:19:00 Envío correo: OK
------------------

10/08/2026 18:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:19:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:19:02 - INPUT: {"rutTecnico":"20988335"}
10/08/2026 18:19:02 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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/08/2026 18:19: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/08/2026 18:19:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:19:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13727
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13727
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18:19:04 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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;
                

10/08/2026 18:19:04 - INPUT: {"rutTecnico":"20988335"}
10/08/2026 18:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 18:19: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;
                

10/08/2026 18:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18:19:05 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:05 - INPUT: {"rutTecnico":"20988335"}
10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

[10/08/2026 18:19: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;
                

10/08/2026 18:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13728
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18:19:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18:19:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18:19:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18:19:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/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 = 13728
                and cs.estado_control = 1;
                

10/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/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 = 13728
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 18:19:41
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Dt5H1+qbmIVqqTQ4Qwugd4y37r2ZMbrEl8m7n8wtKUd8OeWUxOG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY3372",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ciudad máquina",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza inicializacion del equipo psrs comprobar su conecto funcionamiento.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13728",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACTAP8DASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABBEAACAQMCAgYGBwYEBwAAAAAAAQIDBBEFBiExEhNBcYGhFBVRYZGxIiMycsHC0QckQlLh8DNiY9IWNENTkqLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALhEAAgEDAQUHBAMBAAAAAAAAAAECAxEhMQQSQVFhIjJxkaHB0RMzseEUJIHx\/9oADAMBAAIRAxEAPwD9mANHUNZ0\/S0vTLmFOT5Q5yfguJ1JvQjKSirydjeBLPd1zf1HT0XSqtw1znU4JeC\/VH1abufUlm91GFjB86dH7Xdw\/Vk9xrXBR\/JjL7acvx5soLm+tLNZubmlR+\/NI49xvXSKTapSrXD5Lq4c344PlrsvS6X0rl1rueEm6k8Lwx+p2reytLRYtrajR+5BR+RzsLqP7EuUfV+xPPcWt3yfqzRJqL+zUrvg15LtXazZ0+33PO9p17+7t4UE30qEY55p+xd3ad8ByXBHVQle8pt+i9AACBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ\/cGq3kbqjpOlcLyvxlJr7EXnj5Pj2H3TdpWVrJV7z99um+lKdTjHPd+pr6Nie8tWlJJygkot8WlkpyyT3VZGOlBVW6k85x0seYxjCKjCKjFcklhI9AFZsAAAAAAAAAAAAAAAABhqXVClcU7edWMatVPoRb4vH9+QONpamYAA6AAAAAAAAAAAAAAAAAAAAATFri1\/aBdwfK5t1KOe18OXwZTkvuFKw3LpWqPhBy6mb5Y5\/hJ\/AqCc9EzNQw5x5P85AAIGkAAAAAAAAAA0tZrVLfRrytRm4VIUZOMl2PBwtm61VuoVLC8qynXX1tOU3lyi+fH3P5+4kotxuUSrRjUVN8SqABEvBFbwu1Z7j06uknKjGNR+9dLl5MtSE35B1NVt1HLkrdvHuTb+WS2l3jFtzao3XNF0mmsp5TPpo6Lc+maLaV28ylSj0n71wfmjeK2rOxrjJSimuIABwkAAAAAAAAAAAAAAAAAAcfdNh6foFxBJOdJdbDL7Y8\/LJm2\/qHrLRbe4bTqdHoVMdklw\/r4nRaTWGspkvt2S0vX9R0WTUYOfW0I+5rOM92PgyxZi1yMs+xWjLhLHwVIAKzUAAAAAAAAAczcja27fYePqmTVWwqUdvaXrlksXFnBOaX8UMvPz+DZ295VXT23XS\/6koR\/9k\/wOlptGNPSLWg0nGNCEWux\/RRbF7sb9TDUpqrWcenrc+6df0dTsaV3Qf0ai4rPGL7UzaJC3ctp7gdtNv1bevMJPlCX9OXdgryEo2eNC+jUc1aWq1BJ6vQhdb7sreoswq2c4vuaqFYTFx9b+0S1\/wBG2fyl\/uJU9X4ENpV1FdUe9kVpeqq1pU4VLavKLjjkn\/XJSExpGLLeeqWaSUa0VWWPbwf5mU5yp3rndl+3uvhdeQABA0gAAAA8ylGEHOclGMVltvCSAPRq3upWenQU7y5hRT5dJ8X3LmcG417UNYup2W36aUIPFS7qfZXd\/bb9hsWe0LONT0jUqlS\/uXxlKrJ9HPd2+JZupd4y\/WlPFJX6vT9nme+NGhLEXXmvbGnw82jJR3polXhKvUpffpv8MnYp2ltRgoUrelCK5RjBJGOtpthcLFayt6n3qSZy8OR3d2jXeXl+zza6vp17\/wAte0ajzjoqWH8HxNw4d1s\/RblcLeVCX81KbXk8ryNnRtG9TxrQV3VuI1GnFVP4MBqNsMlCVa9ppeKfsdMAEC8EtulS03VtP1uDklCapVsLnHi\/k5L4FSaGt2PrHR7m1w3KUMwxz6S4rzRKDsyivBzptLXVeKN6LUoqS4prKPpxNo3zvdAoqculUoN0pNv2cvJo7ZySs7FlOanBSXEAA4TAAAAAAJjfFSU7OzsYSxK5rrxxw+ckUsYxhBQisRisJexE1r66\/dWiUP5Jup5p\/lKcsl3UjNSzVqS8F6fs52uaVT1fTKltJJVMdKlL+WS5fp4mltbV531nK0un0by0fQqRlwbS4Z\/B\/wBTvE5rul3VvfQ1rSYOVzB4q0or\/FXBfJcvERaa3WcqxcJKrH\/fD9FGTGk\/vO99VuU040oKlz5PgvysVN60Z23QtrO4letY6lx4QfJZffg3dsaTU0vTpO5X7zcT6yrl5a9i+fxO2cU7kXONapFQyll+xpaw1Zb00u8bxCtB0n38V+ZFOTe96MvVVG7p8KltXjJSzyT\/AK4KC3rRubalXh9mrBTj3NZOSzFMnS7NWcfB+f8AwyAArNIAAAJTVLytuHVvUlhVcbWCzc1ofL3rs7\/cjqbl1T1Vo9WpCWK9T6ulx4pvt8Fx+B923pj0zSYRqp+kVn1tZvn0n2eC88lkeyt4y1W6k\/pLTV\/H+m9ZWVvp9rC2tqahTguC9vvfvNgArNKSSsgAAdAAAAAABgu7y3saHX3VVUqeUuk\/azOY69vRuqTo3FKFWnLnGccphdTkr2xqSGh6jZaZuXULdXVGNncPrKc20op88Z7MZa8CphqVhV\/w763n92rF\/iSW69DsNN9Dvbe1jGh1vRrwUpYkua7uTXD2o7Etm6HVSlC3nBPiujVl+JdLddmefRdeDlTSWOr4ndjKM4qUJKUXyaeUz0YLO0pWFpTtqPS6umsRUnlpGcpPQV7ZAAB0AAAmE1eftD4PPodt8Mrz+2U5L7VfperaxqK4wqVujTftWW\/l0SoJ1NbGbZswcubbAAIGk8dTS63rerh1n83RWfj4L4HsAA52v2\/pWhXtHo9Juk5Je1rivNGDalx6Tty1b5wTpvweF5YOvJKUXF8U1hk1slulaXtlL7VvcteWPysmswZml2doi+aa9ymABA0gAAEtfdLWd529kmpW9hHraizlOXP8Yr49xUkvtPNxqmsXs+Mp1+jF+xZbx8vgVBZPDtyMuzZi582\/hAAFZqAAAAAAAAAAAAOXuS09M2\/d0lzjDprvjx\/A+bauvS9vWdR5zGHVvP8Al4fgdSSUouL4prDJjaEpWV1qOj1HxoVXOHDmuWfKL8SxZg1yMs+zXi+at7\/JUAArNQAAANHW7v0HRbu47Y02o974LzaN4l931ZXlxYaLSa6VzVU58cNR5L8X4EoK8imvPcptrX3N7aVp6Jt23ysSrZqy4c88vLB2jzCEacIwgsRikkvYj0ck7u5OnDcgo8gADhMAAAExoq9E3lq9pyVZKss9vHP52U5L3\/7nv2xrL6MLml0JP+Z8V\/tLIcUZtow4S5P84KgAFZpAAAJjZH0rS+m\/tSuXl+C\/UpyY2n9TqWs2r4OFxlL3Zl+iKcnU7xm2T7KXj+QACBpAAAAAAAAAAAABMT\/dP2hwfJXltjPcv\/hFOTG4F0N06JUjwk5uLfa1lcPN\/EnDVozbTiKlya\/JTgAgaQAAASujL1vuy+1Vy6VG1+po8OfZleGf\/I7+qyuIaXcO0jKVdwap9Hmm+GfDOfA1NtabLS9Eo0akejVnmpUWOTfZ4LCJrEWzNUTnVjHgs\/B1gAQNIAAAAAAJfd76i+0e8w8Ubji13xePJlQTu96LqaB1qXGjVjPK7Oz8SdPvIzbUr0ZdM+WSiBitavX2lGt\/3IRl8VkykDQndXAAB0ldTl\/w\/uilqjT9FvI9XWx\/C\/b8n8SpTTWU8pmtqNhR1Oxq2ldfRqLg8cYvsaOBo2q19Gu1oervoqPC2rvlKPYs+z2ezkWd5dUZE\/o1Gn3Zej\/ZUgArNYAAAAAAAAAAAAIXVNahquoabF0Xb3FteuE6cnlr6UcfL4oujk3O29PutUp6i4yhWhJTahjE2msNpr3FkGk8mbaadSpFKD8TrAArNIAAAAAAAAAAAAAAANDWdLjq+nytJVZUk5KWY9uOw3wdTs7kZRUk4vQxW1CNra0reDbjSgoRb54Sx2GUA4dStgAAHQaWqaVbavZyt7mGe2E1zg\/ajdB1O2UclFSVnoSMNQ1Xas+o1GFS+sc\/V3EecF7Hn5N9zKOw1Oz1KkqlpXjUWOMc8Vy5rxNqUVKLjJJprDT7Sf1DZ9pXqek6fUlYXKeYypcI57uzw+BO8Za4Mu5VpdztLk9fP5KEEtK83Ro\/C4toanQj\/HTX0seHHl7melve1pPF3p93Qf3U\/nj3j6b4ZJfyqaxPHiU4ONR3boldtK9UGuycJR88YNhbg0drPrK34\/6iI7suRYq1J6SXmdE5y1inLXnpMKUpThS6ydRPhHlwx4r4nOvd52FKPQsI1LyvJ4hGEWk339vgZduaTcWjr6hfyTvLx9KUVn6C54\/vkS3bK8it1t+ajTd+fgd0AFZpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8aTWGspgAGlX0XTLl5rWFvJ+3q0n8Uay2toiefV8OH+aX6gEt58yt0qby4ryN+0sLOwh0LS2p0VjD6EcN975s2ACJNJJWR\/\/9k=",
    "razonSocial": "DSPRINT",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "francom@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INICIALIZACIÓN",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:19",
    "ubicacionGPS": "LatLng(lat: -29.8988853, lng: -71.2193341)",
    "horaLlegada": "11:53",
    "horaDespacho": "18:19",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 18:19:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:19:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[10/08/2026 18:19:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'KY3372', 1, 20988335, 0, NOW(), 
				'18:19', '11:53', '18:19', 1, 'se realiza inicializacion del equipo psrs comprobar su conecto funcionamiento.', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1786400381.png', '', null, 'COMPLETADO','LatLng(lat: -29.8988853, lng: -71.2193341)' )
				
[10/08/2026 18:19:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201422

10/08/2026 18:19:41 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY3372'
		
10/08/2026 18:19:41 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3372'
				   AND estado = 1
				
10/08/2026 18:19:41 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY3372', 2, 1, now(), 'CSJ', 'ciudad máquina', 'departamento máquina');
				
10/08/2026 18:19:41 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201422'                    
				WHERE idllamado = 13728			
				TO ENVIO: micorreo@miempresa.cl, francom@dsprint.cl, donkhapone@outlook.com


10/08/2026 18:19:41 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13728			
				
10/08/2026 18:19:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/08/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 = 13728
                and cs.estado_control = 1;
                

10/08/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 = 13728
                and cs.estado_control = 1;
                
10/08/2026 18:19:41 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-Dt5H1+qbmIVqqTQ4Qwugd4y37r2ZMbrEl8m7n8wtKUd8OeWUxOG
10/08/2026 18:19:41 Detectado modo MULTIPART/FORM-DATA
10/08/2026 18:19:41 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786400381.png
10/08/2026 18:19:41 Envío correo: OK
------------------

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/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 = 13728
                and cs.estado_control = 1;
                

10/08/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 = 13728
                and cs.estado_control = 1;
                

10/08/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 = 13728
                and cs.estado_control = 1;
                

10/08/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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:43 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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;
                

10/08/2026 18:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:43 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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;
                

10/08/2026 18:19:43 - INPUT: {"rutTecnico":"20988335"}
10/08/2026 18:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13728
            GROUP BY l.idllamado;
            

[10/08/2026 18:19: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;
                

10/08/2026 18:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13728
                and cs.estado_control = 1;
                

10/08/2026 18:19:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:45 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19:45] 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/08/2026 18:19:45 - INPUT: {"rutTecnico":"20988335"}
10/08/2026 18:19:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 18:19:45] 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/08/2026 18:19:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:19:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:46 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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/08/2026 18:19:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:47 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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;
                

10/08/2026 18:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:47 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:19: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;
                

10/08/2026 18:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:47 - INPUT: {"rutTecnico":"20988335"}
10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

[10/08/2026 18:19: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;
                

10/08/2026 18:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13729
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INICIALIZACIÓN
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 11:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 18:20:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mFMB1KcUXHF3TaNuEhPrfsaujEEhW.L6Su0GCQ1TdKZCq_K4NT_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY3373",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "CSJ",
    "ciudadmaquina": "ciudad máquina",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza inicializacion del equipo psrs comprobar su conecto funcionamiento.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13729",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB4AOoDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xAA+EAABAwMBBAcFBAkFAQAAAAABAAIDBAURBhIhMUETIlFhgZGhFDJxscEVFkLRIzNScoKS0uHxJTSiwuLw\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAKxEAAgECBAQGAwEBAAAAAAAAAAECAxESITFBBFFx0RMygaGxwSKR4TNC\/9oADAMBAAIRAxEAPwD9mXrJIyJhfI9rGjiXHACwrzeq2O4stNqpxJVPZtOkd7sY7f8A7u4rnj0hJVvbNebjLVSZyWMOGjuz\/hTUVa7ZnlWbk4043t6I7qvVdnpGuJqumI5QtLs\/A8PVcA1Febidm12Z7W5\/WznAI8cD1K2qOzW2hLXU1HCx7eD9kF3nxXcl4rRHMFaXmlbp3ZMew6vqP1lzpoGnkxoyP+P1VK0FrACckDGe1eyLjlcsp0lDdvq7hERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmaA+y66r4ZN3tEQewnnw\/vw7FTKX1fA6kmo73ACJaeQNfjm3ln1H8SpIJo6mCOeJ21HI0Oae0FWTzSZloPDKVN87+jPoiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB8K2kjrqKallHUlYWndw71h6Nq5TRT2yoBbNQv2CD2En5EH0VGpW4\/6NrOmrtoiCvHRyjG7OAP6T5qyOacTLW\/Ccavo+j\/AKVSIirNQREQBERAERY2q6ial0\/PLBK+N+WgOY4tI6w5hdSu7EKk8EHJ7Gyik9J3WaGQWa4OxIGB9O5x95pGcZ57uHiOSrF2UcLsRo1VVhiQRFiaquNZa7dFU0haMTNEmRndx+mPFcSu7Eqk1Ti5PY20XFablFdrdFVxbtoYe39l3MLtRq2RKMlJJrQIiLh0IiIAiIgCIiAIiIAiIgCIiALF1XbzX2OUsOJKf9MzHcDkeWfRbS8EAjBGQV1OzuQqQU4OL3M+xXAXOz09TtbT9kNk\/fG4\/n4rRUnZB9i6qq7RtYp5x0sII58cDwyP4VWKU1Z5FfDzc4flqsn1QREUC8IiIAsDWjg3TcwP4nsA81vqa128tsLAPx1DQfJx+inT8yM\/FO1GXQ9rnZH3Cx0c1MdiupImOie3cXYA3Z+Xeu3T15F3ocyYZVRdWZnYe3HfhakbBHG1g4NACmL3SVNluJv1tj22u\/3UedxHM4+vLzXU8SwsrnF0X4i037+hUrL1JRitsFXHwc1nSNPe3f8ATHiuq33CC50UdVTuyx43jm08we8LzcZWQ22pkkcGsbE4kn4KKupGieGdN8miK0nXutVZDDM8+yXAHYJGNl4OPpjxCvlD0lnfX6GaWsInhe6aLcQSOYHxH0VJp26C7WiKdxzKzqS\/vDn48fFWVVfNGPg5OCVOW6uvs1ERFSegEREAXgkAZJwAvKlK+pq9T18tqoHmGigdipn\/AGj2DtG7xUoxuVVavhrS7eiO2t1fbqab2en26ybOzswjIz8efhlcw1FfXtMjdOzBufdcTn5fDktu3WqjtcPRUsWzne553uce8rsUrxWiK\/DrSzlO3RdyYGtGQPDblaqujJ7Rn5gLWob\/AGu4FraerZtu4Mf1XH4A8fBd7mte0te0OaeIIyCsmu0taK8lz6YRPJJL4Tsny4eiXg9rDDXjo1Lrl8djYRZtmtUtqhkifXS1TXOyzpM9QdnErSUHrkXxbau1ZhERcJBEXq9u2xzNot2gRlpwR8EBNaxaaX2O7QPa2opZAMEgbTT8+HqVq22\/2+6y9DSyl0ojEjmlpGyN271WdBoi1scXVD6ipJGAJJMAeWF8NINjoqyvtUkTfaKeQlsuwA5zMgcfAHxVzwuOWx58XVjWu0kpeua7lUiIqT0AiIgCmNedazU7B7zqluB\/C781TqY1YRPc7NRg75Kjad2gZaPqfJTp+ZGbi\/8AFrn3KdeHNDmlrgCCMEHmvKKBpJeexXGzVclZYHgxyHL6RwGD8MkfQr1ktd91BLG27FlHRtIc6GIgl3DvPfx4diqkVniMyvhYaXduWx84IIqaBkELAyOMbLWjkFMW7Fk1jUUAaW09cOkixwzx8veHkqtTWs4nxU9JdIh+ko5geONxI+oHmkM3Z7jiFhipr\/nP039ilRfOGZlRBHPGcskaHNPaCMhfRVmrUIiIDA1XdJaOjjoaQbVVWno2gcQDuJHfvAH9loWa1RWe3R0seC7jI8D3ncysYH7T17jrGK3Q8N+Nr88u7vd7lUKyWSSMtJY6kqj2yX37hERVmoIiIAiIgCIiAIiIApjUcUlqutLfqbPvCKoYPxN\/xu8AqdcN5oRcrTUUmcOezqnGcOG8eoUoOzKa8HODtqs11OxrmvYHtOWuGQe0L2WJpGrfVWGJkh\/SU5MLgRgjHD0x5LbXJKzsTpzU4KS3CIi4TCmK7FVr2hi\/DTwF5+PW\/wDKp1L2LFbqy714w4RkQtPp\/wBFOG7M3EZuEeb+MyoREUDSEREAXNcaRtfbqildwlYW5xwPI+a6URZHGk1ZmBo6rdPZvZpciakeYnNJ3gcR+Xgt9S1EfsvXNVS42Ia+PpGjgC7jnz2\/NVKnPW\/Mo4Zvw8L1WX6CIigaCY0n17pe5T7xqcfDrPP1VOpi0l1BrK50Ujt1UOnjJ58938x\/lVOp1NbmbhcqduTfyERFA0hERAEREAREQBERAEReHDaaRkjI4hATWkCRU3eIYDGVJ2WgYA3u\/IKmWRYLCLGyoHtBmMzgckY4Z\/Na6nNpyuijh4yjSSlr\/QiIoF56TOcyF72N2nNaSG9p7Fh6PopqS0PfUxvZPPK57g8Yd2bx4HzW+i7fKxW6ac1Pl9hERcLAiIgCIiAl9ZxGnFDdogOkpZgCccRxGe7I9VTMeJGNe3g4Ahcd6oDcrRUUrffezLN+OsN49V5s9PU0tpp6esc100TdklpyMA7vTCm3eKM8YuNaTtk0v2dqIigaDA1NbZXNju1CMVlH1sji9vMd\/wDcrvs12hvNA2piw143SR53sd2LQU3ctP1dLWOuVhm6Gd2+Sn4Nk+ngfRWJqSszLOMqc\/Egrp6r7RSIpqi1c1kns15pJKGZpAL9k7GTw7xnxHet+mqqesiEtNMyVh\/Ex2VFxa1LadaFTys+yIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAfGpo6asj6Opgjmb2PaDj4din6jRdOx5mtdZPRS4ONlxI8+PqiKSk1oVVKNOp5kerXautuQWQXGIHccgOx6H5rz95rxCMT6bqCeJdGXYA\/lPzRFZFqWqMtWMqXlm\/Z\/KH3srnZEenaxzuzrf0p94b9J+r07I3n1yeHkERScYrYqhUqz1k\/bsfOY6pvLRAYGW2FxBdI13Xxnfzz4bvVVLW7LA3aLsDGTxKIqZO+RupU8P5Ntt8z\/\/2Q==",
    "razonSocial": "DSPRINT",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "francom@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INICIALIZACIÓN",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:20",
    "ubicacionGPS": "LatLng(lat: -29.898882, lng: -71.219326)",
    "horaLlegada": "11:53",
    "horaDespacho": "18:19",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 18:20:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:20:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[10/08/2026 18:20: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', 'KY3373', 1, 20988335, 0, NOW(), 
				'18:19', '11:53', '18:20', 1, 'se realiza inicializacion del equipo psrs comprobar su conecto funcionamiento.', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1786400408.png', '', null, 'COMPLETADO','LatLng(lat: -29.898882, lng: -71.219326)' )
				
[10/08/2026 18:20:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201423

10/08/2026 18:20:08 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY3373'
		
10/08/2026 18:20:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3373'
				   AND estado = 1
				
10/08/2026 18:20:08 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY3373', 2, 1, now(), 'CSJ', 'ciudad máquina', 'departamento máquina');
				
10/08/2026 18:20:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201423'                    
				WHERE idllamado = 13729			
				TO ENVIO: micorreo@miempresa.cl, francom@dsprint.cl, donkhapone@outlook.com


10/08/2026 18:20:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13729			
				
10/08/2026 18:20: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/08/2026 18:20:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                
10/08/2026 18:20:08 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-mFMB1KcUXHF3TaNuEhPrfsaujEEhW.L6Su0GCQ1TdKZCq_K4NT_
10/08/2026 18:20:08 Detectado modo MULTIPART/FORM-DATA
10/08/2026 18:20:08 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786400408.png
10/08/2026 18:20:08 Envío correo: OK
------------------

10/08/2026 18:20:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:10 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:20: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/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:10 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:10 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:20: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/08/2026 18:20:10 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:10 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:20: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/08/2026 18:20:10 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:10 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:20: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/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:10 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13729
            GROUP BY l.idllamado;
            

10/08/2026 18:20:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18:20:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13729
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:05 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 18:25:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/08/2026 18:25:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)
[10/08/2026 18:25:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:08 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25:08 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25: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/08/2026 18:25: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/08/2026 18:25:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:08 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 18:25: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/08/2026 18:25:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:08 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:25: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/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25:09 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:25: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/08/2026 18:25: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/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:25: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/08/2026 18:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:10 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:25: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/08/2026 18:25:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18:25:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:25:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:25: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/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:25:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18: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/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18: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/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18: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/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18: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/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18: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/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18: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/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18: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/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:04 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26: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/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:05 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26: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/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:05 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26: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/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26: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/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:06 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26: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/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26: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/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26: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/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26: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/08/2026 18:26:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:13 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:13 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 18:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:13 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                
[10/08/2026 18:26:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/08/2026 18:26:16 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                
[10/08/2026 18:26:16] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:26:23 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:26:24 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 18:26:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/08/2026 18:26:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)
[10/08/2026 18:26:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:26:25 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:26: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/08/2026 18:26:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/08/2026 18:27:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:27:08 - INPUT: {"rutTecnico":"24456550"}[10/08/2026 18:27:08] 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/08/2026 18:27:08 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

)
[10/08/2026 18:27:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:27:08 - INPUT: {"rutTecnico":"24456550"}[10/08/2026 18:27:08] 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/08/2026 18:27:08 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

)

10/08/2026 18:27:09 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 18: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;
                

10/08/2026 18:27:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27:11 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 18:27: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/08/2026 18:27:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13710
            GROUP BY l.idllamado;
            

10/08/2026 18:27:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13710
            GROUP BY l.idllamado;
            

10/08/2026 18:27:11 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 18:27: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/08/2026 18:27:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13710
            GROUP BY l.idllamado;
            

10/08/2026 18:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27:17 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 18:27: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/08/2026 18:27:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13710
            GROUP BY l.idllamado;
            

10/08/2026 18:27:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13710
            GROUP BY l.idllamado;
            

10/08/2026 18:27:17 - INPUT: {"rutTecnico":"24456550"}
[10/08/2026 18:27: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/08/2026 18:27:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/08/2026 18:27: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;
				

10/08/2026 18:27:18 - INPUT: {"rutTecnico":"20988335"}[10/08/2026 18:27: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;
                

10/08/2026 18:27:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => WF-M20590
            [FechaLlamado] => 03/08/2026
        )

)

10/08/2026 18:27:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                

10/08/2026 18:27:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13710
                and cs.estado_control = 1;
                
[10/08/2026 18:27: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 18:27:24 - INPUT: {"rutTecnico":"20988335"}[10/08/2026 18:27:24] 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/08/2026 18:27:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => WF-M20590
            [FechaLlamado] => 03/08/2026
        )

)

10/08/2026 18:27:24 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:27: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;
                

10/08/2026 18:27:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27:26 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:27:26] 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/08/2026 18:27:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 18:27:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27:28 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:27: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/08/2026 18:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:27:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 18:27:31 - INPUT: {"rutTecnico":"20988335"}
[10/08/2026 18:27:31] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:27:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

10/08/2026 18:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:31:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:31:58 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:31:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:31: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/08/2026 18:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:31:59 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:31: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/08/2026 18:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:31:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:31: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/08/2026 18:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:31:59 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:31: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/08/2026 18:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:01 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32: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/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:02 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32: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/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32: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/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:32: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/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32: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/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:03 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32: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/08/2026 18:32:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32: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/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:32: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/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32: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/08/2026 18:32:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13734
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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 = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                
=========================================
FECHA: 10/08/2026 18:32:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MwlYowKo0k63MjEm_HRn38hlpgvZYyebnYfznltR8tmrYTgm5O7
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de toner\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13734",
    "observacion": "Entrega de toner\nentrega en recepcion\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACcAM8DASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABBEAABAwMCAgcFBQUGBwAAAAABAAIDBAURBiESMRMUQVFhgZEiobHB0RUjMnHhByRCwvA1Q0digoQlUnSSotLy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwYFAwUBAAAAAAAAAAECAxEEEjEhIjJBUWETcaGx0TOB4SNCUpHBcv\/aAAwDAQACEQMRAD8AuLvqS6WzUL4RAJKWNvEWBmC9uMk5yeWefhuFR224091omVdMSWO2IPNp7QVw9XQdVnob1GCXU8rWSDvYTnfw5j\/UsE9NNpmo+1bY0y22cB00AOeEHkR4bq6ylFW1POVSpSqyzO8fZPn8lci16Ktp7hSsqaaQPjeNj3eB8VsKk9BNNXQREQ6EREBhpaymrYzJSzsmYDwlzHZAPd71mUHoerdSXee3SOwJQcD\/ADt7vLPoFeKc45XYz4at41PNzCIigaAiIgCIiAIiIAiIgCIiAIiIAiIgOdf6Trtjq4eDjd0Zc1o7S3cD3LBpepFdpymMmHFjTE8Hfltv5YXXIBGCMgqZ0WTDHcaAnemqT5Z2\/lVi2wZmnu14vqmv9Nesgn0hcOvUgdJbZ3YmhH92fD5eiqaSrgrqZlTTSCSJ4yCF7lijmidFKwPY8Yc1wyCFITQ1eja41NMHz2qZ33kecmM\/1yPbyPYV3j8yDvh3dcHt+CyRYaSrgrqZlTTSCSJ4yCFmVRrTTV0EREOn5k\/it13qK2MEdSuHCTyy0l23o0+q\/TAQRkHIKhn0Rq67UlJGNziZoA3LgeL35I81SaZrOvWCmkJ9pjejd+bdvhhX1dqTPNwe5Jx639G18HWREVB6QREQBERAEREAREQBERAEREAREQBS9nPVNa3WkwQ2Zol37Tsf5iqhTEwEf7RIMDh6WmOf82zvp7lZDmuxmxGxwl3XrsKdeJYo5onRSsD2PGHNcMghe0VZpI+airdI1TqyhL6i2POZoSd4\/H9fXvVRRVtPcKVlTTSB8bxse7wPis7mhzS1wBBGCD2qUq6Sp0rWOuFvYZLdIfv6cfweIVl8+upjs8O7x4Pby7FYi16Ktp7hSsqaaQPjeNj3eB8VsKs1ppq6JiyAHV95BGQcfFfNLHqN3utpOGtjl6WNoP8ADy+HCvthPHq29PA2BDT+ef0S6f8ADNZUFcNo6wdC8+PLy5t9Cr3tbXY82O7GNTpJ\/wBN2KdERUHphERAEREAREQBERAEREAREQBa32hSi4Cg6YdZLOPo8H8P58vJbKmP8RP9t8lKKvcpq1HDLbm0inUxcvY1\/a388wFuPJ\/1VOpi9+xrGzycuIFue\/c7e9dp6kMTwp917lOiIoGkL45oc0tcAQRgg9q+ogJGsp6jSVwNfQsdLbZj99AM\/dn5eB8u5U9HWQV9JHVUz+OOQZB+RWZzQ5pa4AgjBB7VLS0FbpqvkrLcwzW+U5lpxuW\/l8vIFWceupks6DuuF8un4Pelv7c1B\/1P8z1sazpHVNhfKzPHTPEgxzxyPxz5LDpCOV81zr5InR9bn4gCNti7OD24JI8lQVNOyqpZaeT8MrCw7d4wuydp3I0oZ8Nl6392YrZV9etlPVZBMsYccd\/b71tKb0VO8W6eglP3lHMWlueQP6hypFCStJo0UJ56akERFEtCIiAIiIAiIgCIiAIiIApj\/ET\/AG3yVOpiL779ok+P7mmGfRv\/ALBThz8jNiP2f9Ip1Mal9jUVieeRmLf\/ACb9VTqY1b7NzskgOHNqdvVn0XafEMV9J+a90U6IirNIREQBERAfAAOQwvqIgJanH2ZryaLJEdwi428\/xc\/iHeqqVM6ygfDHSXeAN6SjlBdnmRnbyz8VRQTR1MEc8TuKORoc094KsltSZlobs50+9\/s\/yZERFWagiIgCLkamuUtrssk8GRK4hjXD+Ent5FatluVfFdprTdXCSct6WOQYGx5tA+ncVJRbVyiVeMamRlCiIol4RF8c4NaXOIAAySexAfUU7War4qrqlno3V8pH42n2B9R6fmsIotV3LD6ivioGHfo4hu30+qnkfPYZniIt2gnLy+dCme9kbC+RwY1oyXOOAFMaekbX6nutxjy6LaNr8bEbYx\/2\/Bem6NM\/9pXerqh\/y8WBnzJVBSUVPQQCCliEcY5NBJ+K7eMU7HMtSpOLkrJbTOpjWfs\/ZknLhqR7Xdy7fJU6mNd5ba6WXmGVI2\/0n6LlPiR3F\/RkU6IigaQiIgCIiAIiIDVudJ162VFLgEyxloz39nvXK0ZVuqbCyJ+eOmeYznnjmPjjyXfUpTZsmtZaYuxT3IGRo7nbn45HmFZHbFoy1dyrGf2f309SrREVZqCIiAn9a05msDpW7GCRsme0dnzWjX1AF8sN4Y4NFSwRvyD2\/wD2fRVFVTsq6Samk\/BKwsOO4jC\/OzUSQx0Fun9mpt9ZjhOTkEg+4g+oV9ParHmYvcnm62\/tP4P0pF5e9kbC+RwY1oyXOOAFip62lq89WqYpuHnwPB\/rmFQeldXsZ1LXmtnvdx+wrfxiJjv3uZp5DkW\/1zPv7t2rxbLXPWEB3RNyAc4JJwBt4lc7SdA6mtfW5d563717u8HJHuKsjsWYzVrzkqS835fk6dBbqS2U4gpIRG3tPa495PatpEVbdzSkoqyCIiHQpvXYBsDcjlO3HoVSKd1w0u0\/kA+zM0n3j5qdPiRnxX0JeR34STCwk5JaF7WKleJKWF7eTmNI9FlUC9aBERDoREQBERAFNa1p3toae5Q7S0cocDgbAkb+oCpVrXCkbXW+opXDaWMtG3I42PqpRdpJlVaHiU3EyU1QyqpYqiP8MrA8b94ysqn9GVpqbIKd5+8pXmMgnJxzHxx5KgSSs7HaU\/EpqXUIiKJYFE63bHTXShqoogZsF8g7HBpHDn3jKtlKwQsvOtquWRrZIKGLosOGQScjHdzLv65WU3Z3MmLWeCgtWzDNLDqu+00HE99DHD0jmsI\/ERyO2Qew\/LO\/RqNG2yThdTmalkaAA+OQ+\/K6VvtFDaw7qdOIy4AOOSScfmt1HP8AjoIYZNN1Um2S40pX1BjhuF5kqKRhB6PBy7B5Hfu9FTNaGMDW8mjA3yvSKLk3qXU6UKfCERFEtCIiALkaph6fTdY0DdrA\/wBCD8l11q3KHrFrqoAMmSF7R+ZBXYuzTK6sc0JLqjBp+bp7BQvzn7lrT+Y2+S6K4Oi5ul05C3JJje5u\/Zvn5rvLs1aTI0JZqUX2QREUS4IiIAiIgCIiAlrWfs3WlfQ4Ijq29Mznz5\/N3oqlTGqWGhuFuvbRtBII5cDJLSfpxeqpWPbJG2Rjg5rgC0jtCsntSZlobrlT6P0Z6RF8c4NaXOIAAySexVmo598u0dntklQSDKRwxMJ\/E79Oa1dLW59FbOsTj96qz0sp7Tkkj3H3rmUbXaqv\/X5OL7NojiBpGOJ+x3+J8gq5WS3VlMlP9WficlsX+sIiKs1hERAEREAREQBERATGjM032lbnbOp6gn12\/lVOpilAp\/2g1bGjDZ6cOx3nDfoVTqdTW5mwuynl6NoIiKBpCIiAIiIAiIgNeuo4rhQy0kwyyVuD4HsPkd1PadujrdI+yXWQRSwHEL3nAe3sGfh+iqVo3Kz0N2jDKyLj4fwuDiCPRTi1azKKtOTkpw1Xqj1W3e325nFVVccZxkN4suI8ANypyarumrHGnooTS2wn25pNjIAeX6DzK6dHpCz0cnSGF1QRyExDgPLGD5rttaGtDWgAAYAHYu3jHQg6dWrsm7Lovk16ChhttFHS07cMjGM43ce0nxK2URV6mlJJWQREQ6EREAREQBERAEREBL3I9V15bp3D2JojHnx9ofMKoWCejpqmWKWeBkj4TmNzhngO249As6lJ3SKqdNwcu7uERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "SAN ESTEBAN",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARJORIE GONZALEZ",
    "correoContacto": "mgonzalezz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1047\",\"id_control\":\"29596\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "18:32",
    "ubicacionGPS": "LatLng(lat: -23.5611829, lng: -70.398722)",
    "horaLlegada": "18:27",
    "horaDespacho": "17:56",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/08/2026 18:32:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/08/2026 18:32:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[10/08/2026 18:32:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO3107', 1, 19969062, 0, NOW(), 
				'17:56', '18:27', '18:32', 10, 'Entrega de toner
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786401156.png', 'Entrega de toner
entrega en recepcion
sin contador', null, 'COMPLETADO','LatLng(lat: -23.5611829, lng: -70.398722)' )
				
[10/08/2026 18:32:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201424
[10/08/2026 18:32:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201424', 'TOS-I1047', 1)
				
[10/08/2026 18:32:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29596 and
				    IDproducto = 'TOS-I1047'
				

10/08/2026 18:32:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1047';
                
10/08/2026 18:32:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201424'                    
				WHERE idllamado = 13734			
				TO ENVIO: micorreo@miempresa.cl, mgonzalezz@hssanesteban.cl, donkhapone@outlook.com


10/08/2026 18:32:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13734			
				
10/08/2026 18:32: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/08/2026 18:32:36 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-MwlYowKo0k63MjEm_HRn38hlpgvZYyebnYfznltR8tmrYTgm5O7
10/08/2026 18:32:36 Detectado modo MULTIPART/FORM-DATA
10/08/2026 18:32:36 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786401156.png
10/08/2026 18:32:37 Envío correo: OK
------------------

10/08/2026 18:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:39 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 - INPUT: {"rutTecnico":"19969062"}
[10/08/2026 18:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 18:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13734
            GROUP BY l.idllamado;
            

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 - INPUT: {"rutTecnico":"19969062"}[10/08/2026 18:32: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[10/08/2026 18:32:41] 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/08/2026 18:32:41 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

)

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                

10/08/2026 18:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13734
                and cs.estado_control = 1;
                
[10/08/2026 19:13: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/08/2026 19:13:10 - INPUT: {"rutTecnico":"7373114"}[10/08/2026 19:13:10] 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/08/2026 19:13:10 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 05/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 05/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 31/07/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 30/07/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 30/07/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 30/07/2026
        )

)

10/08/2026 19:13:14 - INPUT: {"rutTecnico":"7373114"}
[10/08/2026 19:13:14] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/08/2026 19:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 08:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:21 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 08:34: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/08/2026 08:34:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:21 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 08:34: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/08/2026 08:34:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:22 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:23 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34: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/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 08:34: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/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 08:34: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/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:27 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:27 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:27 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:28 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:28 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:28 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:29 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08:34:30 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:34:30 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 08:34: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/08/2026 08:34:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 08:47:22 - INPUT: {"rutTecnico":"20988335"}[11/08/2026 08:47:22] 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/08/2026 08:47:22 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 06/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => WF-M20590
            [FechaLlamado] => 03/08/2026
        )

)
[11/08/2026 08:47:22] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 08:47:30 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:47: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/08/2026 08:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:47:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:47:33 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:47: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;
                

11/08/2026 08:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:47:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:47:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:47:34 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:47: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/08/2026 08:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13718
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3371
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:47:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:47:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:47:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:47:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:47: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:48:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:48: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:48:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:48: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:48:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:48: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:48:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:48: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:49:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:49: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:49:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:49:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:49:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:49:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:49:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:49: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:49:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:49:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:50:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:50: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:50:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:50: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:50:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:50: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:50:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:50: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 08:50:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--jNqgoX45MliOJGBOj2ano16iBnOkHLsUFXPxGBhTOdIJoDHT+Z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY3371",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "bodega ciudad",
    "ciudadmaquina": "Salamanca ",
    "departamentomaquina": "bodega 3",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega multifuncional al usuario, se da indicaciones para que el usuario identifique el equipo con si respectiva serie interna.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13718",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAQYDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABEEAACAQMCAgYHAwgJBQEAAAAAAQIDBBEFBhIhEzFBUYGhFDJhcZGxwRUiwgcWUnKC0dLhIyQlM0JVkpPwVKKjsuLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgMHAwMFAAAAAAAAAAECAxEhMVEEEpETIjJBYXGxgcHhIzOhJFJi0fH\/2gAMAwEAAhEDEQA\/AP61f6tY6XGLvbiNLj9VNNt+C95w\/nfoP\/X\/APhn\/CcFtb0dR3pqPptKFVUacVTp1MSjjlzx\/wA62bn2LpX+WWf+xH9xZaK1MinWqXcLJXtm\/kZ8946JCLkrmc1zxw0pc\/ijm\/PWjVbVnpl5cNdWIpZXfyybkdL0+GOCwto46sUYrHkdKSSwlhI5eGxLkrvWSXsv9smJavue9i1Z6MrZPlxVnzXxx8jU0e21ei6tTVrynXlPHBGmsKPf2L2GoA5YskShRalzSk38dAACBeADyubmjZ287ivPgpU1mUsN4XgDjaSuz1B5W1zRvLeFxQnx0qizGWGsrxPUBNNXQAAOg4bHV7PULivQt6jlO3k4zyuT545PtOyUowg5yeIxWW+5EPsKblqd7xt8cqabz+tz+ZOMbxb2M1Wq4VIQXncugAQNIAAAAAAAAAAAAAAAAAAAAAAABMWjVH8od7GT4VWt1wrveIfuZTkzr39T3RpF6njpJOjLm+rK7F+symJz0TM1DDnH1+cgAEDSAAAAAADA3pWdLblSKeOknGL9vPP0N8mN9\/f0y1oLrqXKx\/pa6vEnT8SM\/FO1GXsaW2ZRntyycXldHjxTaZqkztSq7G4vdCrN9Jb1HOnxP1ovHV5P9ophNWkzvDy5qS9MdAACBefmpBVKcoPqkmiB2GpR124g+WLeWV7eKJ\/QCN2lbxpbm1ZKOOicoLHUlx\/yLYPuyMPERvWpP1ZZAAqNwAAAAAABnarrllo9LiuJ8U+ylDnJ+HYvaY0bncuuSjO2gtNs5L15r78l8\/c1j3k1BtXKJ14xfKsvZFUCYWx7aqs3mo3defbLiSy\/HI\/MPTY84XV5GXY+OP8ACOWO5HtK\/wDZ\/P4KcGPpGgz0q4nU+0rivCUcdHUfLPebBFpJ4LoOTV5KzAAOEwAAAAACY3wnTsbO6ivvUblYkutcm\/oimTTWU8pmHvOl0u268sZdOUJeaX1NPTKvT6VaVs546MJPxSJvwIzQxXkt0n8o6gAQNIAAAAAAJjdj6XVNFteypcZl7sxX1ZTkxq6Vbe+k0UucIOf\/ALP8JZT1uZuKzTtu18n43Clpe5dN1ZLEJvoqrSz7Ofg\/IqjK3Lpy1LRK9JJupTXS08fpJdXisrxG2tRWpaJQqtt1Ka6Kpn9JLr8Vh+IeYp7HIdytKO+V9zVABWagQWz71T3RdNybV1GbTfa+Li+WSx1e49F0e7rrrhRk4+\/HLzInSbb7N1DQLtpJ3XHF49raXlJF1Nd1nn8VJqrC3ll\/VpH9CABSegAAADA1ncFSldLS9Kp9Pf1OWVzjS9\/h8Do3Jq0tJ03ioriuKz6OksPrfb4Hzb2hx0m1c6yjO8rc6tTr8ETiklzMzVJSnPs4O272\/J46RtmnbVPTtRl6XfzfFKc3mMX7P3m8ARcm3ktp0401aKAAOFgAAAAAAAAAAABw63Q9J0S9pYy3Rk170srzRybTr9Ptu1beXBOD8G8eWDYklKLi+aawya2S3StL2yl61vcteWPwsmswZmlivF7pr7lMACBpAAAAAABMSTr\/AJQ4vGVb23wyn\/EU5L7fXpW69ZvXz6OXQpt9mcfgXkTho2Zq+ZQj6\/GSoJXSFLRd1XWlznihdrpqCff3fDK\/ZRVE5vCyn6NR1a35XFjNSz3xz9H9RDW244hNJVFrHP08yjB4Wd3SvrOldUXmFWKkvZ7D3IGhNNXRgb1uOh27UhnDrVIw8+L8Jwblt3YaDpNVRfHZzpx933e73xPbcbjf7h0nS+tKfS1EufL\/APIs0t0W\/pO3LyK64w6RfsvPyTLou3KYKse0dVryVumTUjKM4KcXmMllPvR+jN29celaBZVe3olF++P3foaRU1Z2N0Jc0VLcAHjdVXQtK1ZPDp05Sz7lk4dbsrk3QcNe3lUretbaYsQ5cpTz1\/HL\/ZRVE5sejwaHKvJtzr1pScn1vHL6MoydTW2xn4ZXp871lkAAgaQAAAAAAAAAAAAAAATG3krfdOtW2Mcc1USXVjLf4inJi5\/s\/ftvWzine0eB8u3qwvFR+JOGjRmr4cJbP5wU4AIGkAAAAAA\/NScaVOVSXqwTb9yJzY8JPSq9zP169xKTx3YX1yae4rhW2372o3jNJwXvl91fM8tr2yttu2kcYc4dI\/bxPPywTWIMzSzxEVsm+uDXPxVpQrUp0qkVKE4uMovtT60fsEDSSu3K9TR9Ur7fu3yy6ltJv1l3fDn70yqJ7dmnVKtrT1O0TV3ZSU011uOefw6\/ie1xr9Ge1qmqUZpSdPhUc841Hyx38n5FklzWaMdOXY81OWiyvb8HFoa+0t06lqj5wovoaXPwzj3LzKStSjXoVKM\/VqRcX7msGVtSwlYaBRjUjw1KzdWS9\/V5JGycm+9gs4eNqS5tXl\/Um9j1ZPR6ttP1revKOO5cn88lITG216NuHWrWXLiq9JFezMv3opxU8Rzhf2ktsdAc+oQdTTbmEeuVGaXwZ0HySUouL5prDII0NXVjB2XOM9uU0uXDUmmu7nn6m+TOx5cFheWksqdC5eU+xNJfNMpidTxMo4V3ox9gACBoAAAAAAAAAAAAAAABMb0h0NOw1KKzK1uF1dz5\/h8ynMrc1q7vb15TXXGHSL9l5+hODtJFHER5qUkjjvtzXFK5lb2Oj3V008KpwtRfblYTyjwT3jf55Wunxz24bx\/3fTrNTbdz6Vt6zqZy1T4Hz\/R+79DUOuSjixXGnKqlJzdntg5NNoXVvZQp3twq9fLcprqfM6wCt5NUVZWAAB0mt7VZy0+2sKWHUu66il34\/m0UVGlGjRhSh6sIqK9yJq9X2hvuzt8J07Kl0ku3D6158P8AzBUE5YikZqPeqTn9OgABA0nxpNYaymSlbZ1V3bpUbvg02pWVWpQy1j2L5L+XOsBKMnHQqqUYVbcyPkYqMVGKSSWEl2H0AiWkxD+qflDmupXltnHuX\/wynJjcH9BurRLhcnObp58UvxFOTnomZqGJTj6\/OQACBpJW0n9k73ubeWY0tRjxwfY5dfz4l4lUT27rCvWtKOo2jfpFhLpFjrceWfhhP3ZNXStRparp1K7pdU1iUf0ZdqLJZSkZaPcnKm\/dez\/J2AArNQAAAAAAAAAAAAAAAPzUpxq05U5rMZpxa70z9AAmtkVJR025s5v79tcSjh9if80ylJfb+bXdes2b\/wAcumS7lnP40VBOp4rmbhf2ktrrowACBpB8lJRi5SaSSy2+w+mHuzUXZaU7elzuLx9FTXsfrP4PHijsVd2IVJqnByfkcm1Iu+v9R1qcWunqOFPK\/wAPX\/CvD4U5w6Np60vSqFoscUI5m8dcnzZ3HZu7IUIOFNJ6+fuwACJcAAAAAATG8l0VTSr3n\/QXKXL24f4SnJzfVNz0BSUc8FeMm+7k19TbsbmF7Y0LmElKNWClle7mWPwIy08V5rez+x0AArNR8aTWGspkjGT2hrThJf2XeyynzfRS\/l5r3Fec97ZW+oWs7a5pqdOa5ru9q9pKMrYehTWpuaTjiS0PeMlKKlFpprKa7T6R8bjU9oVFSuYyu9KziFSOOKGepfyfLuKSw1Wy1OnxWlxCo0k3BP70fejsotZ8jlOvGb5XiWx2AAgXgAAAAAAAxNW3F9j6jTpXNrL0Scf76Ly+LuS9n\/O46k3hEJ1I01eWhtg57O+tb+gq1rWjVg+1da96614g4STTV0dAAB0mL5Kx33ZV1lRu6TpyeeTfNfwlOTG84+jvTdSSz6NcrPk\/wlMmmsp5TJyykzNRxUnH1v1R9ABA0g569ha3NxRuK1FSrUHmnPmnE6ADjSeoAAOgAAAAAAAAHHqtgtT0yvZuSh0scKTWcNPKfkeOhaXPSNMjaTrdK4tvKWEsvqRpA7d2sQ7OPPz+egABwmAAAfJRUouMkmmsNPtMG\/2jZXNz6VaValjcZcuOk+We\/HZ4NG+Dqk1oVzpwqK0lclel3ZpHKpSp6pRTfOPr48n5P5HrS3tYqfR31rcWlRLLUo8SX18ilPOrRpV48NWlCou6cUyfMnqinsakfBPrn8mdT3PolVJx1CmsvH3k4\/NHr9v6R\/mVt\/uI\/NTbuj1W3LTqCysfdjw\/I8vzV0P\/AC+H+qX7znc9Tv8AU\/4\/yek9xaNBZeo0H+rLPyOWpvLQ6baV1KeP0aUvqjohtnRYPK0+k\/1sv5s6qeladRx0dhbQx3Uor6DueotxD80upi1N72DxG1tbq5m3iKUMJ\/Xt7jyqapuS+pyjDb9HoanLguOfL2ptfIp4UaVL+7pwh+rFI\/Z3mitEc7KrLxT6L\/pgbY0e601XFa6jToyryyqFNtxj5tA3wQk3J3ZdTpqnFRiAAcLDI3Tb+k7cu4qOXCKqL2cLy\/LJ7aBcK50Gyqp5\/olFv2rk\/NGXuK+1qxV1ONtQq6c4cGf8aykm3z72z02RUlPb6jKSfR1ZRXPqWE\/qW2\/TMSqJ8Tb0+GUIAKjaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAedejTuaFShVjxU6kXGS70zP0HRvsS0qW6rutGdVzTccY5JfJIA7d2sQcIuSlbKNQAHCYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CAROLINA CONTRERAS",
    "correoContacto": "carolina.contreras@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"29580\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "08:50",
    "ubicacionGPS": "LatLng(lat: -31.7390719, lng: -71.2356185)",
    "horaLlegada": "08:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 08:50:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:50:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[11/08/2026 08:50:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY3371', 2, 20988335, 0, NOW(), 
				'08:00', '08:33', '08:50', 1, 'se entrega multifuncional al usuario, se da indicaciones para que el usuario identifique el equipo con si respectiva serie interna.', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786452652.png', '', null, 'COMPLETADO','LatLng(lat: -31.7390719, lng: -71.2356185)' )
				
[11/08/2026 08:50:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201425

11/08/2026 08:50:52 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76050301'
				   AND serieintmaquina = 'KY3371'
		
11/08/2026 08:50:52 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3371'
				   AND estado = 1
				
11/08/2026 08:50:52 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76050301', 'KY3371', 1, 1, now(), 'bodega ciudad', 'Salamanca ', 'bodega 3');
				
=========================================
FECHA: 11/08/2026 08:50:52
listaInsumosUsadosConsolidado===

idReport:201425

idInventario:KYO-I1045

idControl:29580

cantidadAsignada:2

cantidadUsada:2

[11/08/2026 08:50:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201425', 'KYO-I1045', 2)
				
[11/08/2026 08:50:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29580 and
				    IDproducto = 'KYO-I1045'
				

11/08/2026 08:50:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I1045';
                
11/08/2026 08:50:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201425'                    
				WHERE idllamado = 13718			
				TO ENVIO: micorreo@miempresa.cl, carolina.contreras@veltislatam.com, donkhapone@outlook.com


11/08/2026 08:50:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13718			
				
11/08/2026 08:50:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 08:50:52 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary--jNqgoX45MliOJGBOj2ano16iBnOkHLsUFXPxGBhTOdIJoDHT+Z
11/08/2026 08:50:52 Detectado modo MULTIPART/FORM-DATA
11/08/2026 08:50:52 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786452652.png
11/08/2026 08:50:52 Envío correo: OK
------------------

11/08/2026 08:50:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:50: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:51:00 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:51: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/08/2026 08:51:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:51:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:51:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13718
LIMIT 1;
        

11/08/2026 08:51:00 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:51: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/08/2026 08:51:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:51:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:51:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:51:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:51:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13718
                and cs.estado_control = 1;
                

11/08/2026 08:51:08 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:51: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;
                

11/08/2026 08:51:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:51:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:51:08 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:51: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;
                

11/08/2026 08:51:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:51:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:51:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:51:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:51:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:51:11 - INPUT: {"rutTecnico":"20988335"}
11/08/2026 08:51:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/08/2026 08:51:11] 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/08/2026 08:51:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:51:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:51:11 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:51:11] 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/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:51:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:51:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:51: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                
[11/08/2026 08:58: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 08:58:54 - INPUT: {"rutTecnico":"20988335"}[11/08/2026 08:58:54] 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/08/2026 08:58:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 06/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/08/2026
        )

)

11/08/2026 08:58:55 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:58: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;
                

11/08/2026 08:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:58:57 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:58:57] 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/08/2026 08:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:58:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:58: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:58:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:58:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:58:59 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 08:58:59] 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/08/2026 08:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13719
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 08:58:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:58:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:59:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08:59:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08:59:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 08:59:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-w8fKd+0Ex5e2CodbspD7JgizFfjjF6GGG49kym50kgcFGrHqRRe
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY3372",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "bodega berliam",
    "ciudadmaquina": "Salamanca ",
    "departamentomaquina": "bodega 3",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega multifuncional al usuario, se da indicaciones para que el usuario identifique el equipo con su respectiva serie interna.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13719",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQAPgDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABFEAABAwMCAwQGBgYHCQAAAAABAAIDBAURBiESEzFBUZGhFCJhcYHBFSMyscLRByQzUoLhN0JDdKLw8SU1U2JykrLS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBwQBBQAAAAAAAAABAgMREiExBEFRYbETMnGBkcHhFCKh0fBCRFKC8f\/aAAwDAQACEQMRAD8A\/ZkRcEgDJOAEByiyK3VFnoTh9Y2V+M8MPr+Y2His8avqKogW2yVVQCftO2HkCPNTUJPcUS2mlF2xZ8s+hTrpqKqnpI+ZUzxws\/ekcGjzU5ydW3Q5kmhtsR\/qs+18z5hdtPoukMvPuFTPWyk5Je7APsPafFdwxWrIdtUl3IeuXyc1OtKIScqgp566XBwI2kD8\/JdQq9XXAjk0cFDGT9qTr8QcnyVFT0tPSR8umgjhZ+7G0NHku5MUVojvZVJd+fpl8nxEJBE0SuDngesWjAJ9y+0RVmkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM+83eKz0Rne3je7aOMH7Tlix2i8X\/ADNeKp9JTv6UsWxx7f55PuX09n0nrwMewuhoIg4ZG3F2HxPl7FUKy+BK2pjUe3k3Lup2tx8TOo7Ba6EDk0cZcDnje3idn3laAAAwBgBcooNt6mqMIxVoqwREXCQREQBEWVWXsUl9pLYYC70kZ5nF067Y94HiupN6EZTjBXkaqIi4SCIiAIiIAikoNYzPu3BLTtbQGUxc3uO+D923s2VapSi46lVKtCrfDuCIiiWhERAEREAREQBERAEREAREQEvZ3crW92hds57A4e7Y\/NVCl7v\/ALN1hbq8HEdSOS\/Haem\/i3wVQpz3MzbPlihwb\/OYREUDSEREAREQBR2shUy3i2x0eRUAOdGQcHOR+SsVL3MczX1rjwPVhLt\/4\/yVlPJ3Mu1rFTUeLXU0rBe47xSHi9Sqi9WaMjBB78dy1lNX+z1MFY292ccNVHvNGOkg78ff3+9aVlvlJeqfjhdwytA5kTurT8x7VyUcsSO0qjT7Opr1\/m800RFA0hdc0nKgkk68DS7wC7F1VLDJSysHVzCPJDj0Pz9sbGaCfK8\/WPreJhzvnGPuBV\/SlxpIS77Rjbn34X53Qv8ApGjtlmj9biq3PkHX1dt8e4uX6Ur6p52w53a4Je\/uERFQekEREAREQBERAEXW6eFmeOVjcdcuAwuGVMEruGOaN7u5rgShy6O1ERDoREQGPqi3PuNlkbF+2hPNZjqSOo8MrusFwdc7LT1Lz9YRwv8A+oHGfj1+K0lK6fBtGoq+zuaGxSEzQb9ncPh\/4lWLOLXAyz+yspbpZP2KpERVmoIiIAiIgCmP2v6RBvnk03ht\/wDSp1MWoc3XN1n6cMYjx\/2\/+qnDf4GbaM3Bc0U6n7vpt0s\/0haJfQ61u54PVbJ78f5PaqBFFSaeRbUpxqK0iZj1ZLQvFPeqCaB7RvMxuWv9uNtj8Vr0l8tdbj0euhcT0aXcLvA7r2SRRzMLJY2vaerXDIWRVaSstUS70TkuPbE4t8unkp3g9cinDXho1Jc8mbS89dX01upnVFVKI2NHb1PsA7SsA6IpWH9XuFXEO7iBwPJd0GjqMTCWuqZ65zTsJXbY9vb5paHE7jrvJQt5mPoOlimr6ys3DogGsb3B2d\/JXKlrS30PW9ypWgNjliEgA7\/VP4iqlKrvK5HY44aWHg31CIirNYREQBZl11BQWj1Z5C+Y9IYxlx\/L4ry6ivclEI6G3gS3CoIa1g34Ae3\/AD71zZNNw24irqnGpr3es+V5zwk9cfn1KmopK8jNOpKUsFPzfD5PEKvVN4cTSwMtkHY6YesfEZ8l9N0dJPl1wvNVUOzkcJxjxyqdF3G92Q+mi85ty8f0TjdC2duMuqHY75Bv4Be626ct1pqTUUrJBIWlvrPzsf8ARaqKLnJ6slHZ6UXdRQREUS8IiIApfVTRb7jbb01v7KXlykDJLf8ATi8VULL1HQ\/SFiqYQ3L2t5jNsnibvt7+nxU4O0ijaIuVN211XkaYIIyDkFcrJ0zWem2CmeXAuY3lux3jb7sLWUWrOxZCSnFSW8IiLhMIiIApjRn6ybncTuaipIz7t\/xLducvItVXNnHBC9w+AKy9GQmLTcLj\/aPe7p7cfJTWUGZp514Lgm\/Y3kRFA0hERAEREBMXP9W13bJzs2aIx+8+sPmFTqY1d+r1tor+ghqMO92QenwKp1OWiZmo5VKked\/VBERQNIXnr62K30M1XN9iJvFjvPYPicBehTGrpXVdRQWSIjiqZA6TfcNzgfM\/BSiruxTWqdnTclru8T60pRSVJlv1aM1NUSGdwbsM\/HHgNuqpV8xxsijbHG3hYwBrR3AL6STu7naVNU4KP8uERFEtCIiAIiIAiIgC4IBGCMgrlEBL6VJt9zuVmkw0xyc2MZ3IP8uFVClL86O16st1yLmtZIDHLuBt04vB3ktSTVVjidwur2E\/8rHOHiArZJys1vMdGpCmnTk7Wf41RrosCTWtkYCWzSSb9GxHfxwtC03envNK+opmyNYyQxnmAAkgA9hPeoOMkrtF8a1Obwxkmz3oiKJaYmr6j0fTlQP60pbGPid\/IFe6zQejWajh7Wwtzv24yfNYutPrxbaHO09SNu\/oPxKmAAGAMAKbygjND7q8nwSXucoiKBpCIiAIiIDA1rBztOyPxnkyNf54+a1rdOaq201QessTXn3kBdV6p\/SrNWQ8PEXROwO8gZHmF49JVIqNOU2+XR5jd7MHbywrNYGbTaPFdH8m0iIqzSFLWkG6axr7gcmKkHJiOBjPTY\/Bx+KpppBDC+UjIY0ux7lO6GjP0NLO\/d807nF3fsPnlWRyi2Zav3VYR8X6FKiIqzUEREAREQBERAEREAREQEdqfTUENvq7jE+aSfm813G7IDScEDx8ls2y22erttPUx22lIljDt4muwe0ZI78haNbTiroZ6Y\/2sbmeIwsbRVS6ewNjecugkdHg9QOvzVuJuHgYlShCva2TX5X\/AE2I6CihxyqSBmOnDGBhd4AAwBgBcoqjYkloEREOkxqD67VVkg\/ceZPMH8Kp1MVP136QqQYyIaYk57Dh35hU6nPRIzUM5TfPokERFA0hERAEREAUxo36k3OiAwIKk47+0dP4VTqYsxNLrS7UnRsreaNsZ3B\/GVOPdaM1bKpTlza9UU6IigaTPvsnKsNc8HB5Dhn3jHzXn0pHytNUYxjLXO8XErt1ICdO12Bn6or50y4O05REf8PHmVP+jzM39z\/r7mqiIoGkIiIAiIgCIiAIiIAiIgCmNOMFHqO80TQAzjEjQBsBknH+IeCp1MUP9Ily\/uw+6NTjo0Zq+U6b59UynREUDSEREBMUP1\/6QK95ORDAA0Hs2Z\/NU6nrJR1Meo7vVTQPjZI8CNzm4Dhk9O\/oFQqc9TNsyeFt72+oREUDSEREAREQBS9yxQ66t1SRhlTHyj7Xbj5tVQpnWzDHSUVc1uXU1QDnuB3+9oU6fesZtqyp4uDTKZFw0hzQ4bgjIXKgaTz11N6ZQVFNkDnROYCezIxlYujKsPtTqB+RNRvLXNPcSSPPI+ColN3e2VtBcDe7QHSSnaen68be3AU45rCZqycZKqt2T8CkRZVnv9Jd2cLTyalv24Hn1ge3HeFqqLTTsy+E4zWKLugiIuEgiIgCIiAIiIAiIgCmKH+kS5f3YfdGqdZVLY20t+qbqKh73VDOExuH2enb\/CpxaVyitCUnC2536mqiIoF4REQBERAEREAREQBERAFkaqhE+natna1geN\/3SCVrrC1Lp8XiDmwuLauNuI8uw0jO4KlC2JXKa6k6UlFXyPbYpvSLFRSEYJhaOmOgx8loLPsdHLb7NTUs+OZG0h3CcjqStBclqyVK+CN9bBERcLDGu+mKK6OMzc01TnImjHU95Has0V9\/0+BHXU5uVOMATRklwGepOPv7uqq0U1N2s8zPKgm8UHhfL9GJSaus9UQ01Bp3HHqzt4fPp5rVjq6abAiqIn56cLwV56yy2yvJNTRRPcersYd4jdZkmiLPJnAnjJOfVk6eIT7GcvtEdyf4\/ZQopg6Pnp\/933urpwOjSSRju2IT6L1ZDtBeoHg9eY382lMK3MdtUXepvysynRTHJ1mN\/SqN2OzA3\/wo6n1jMQPTKSAHqQ0d3uKYOaH1D\/wl6fJRCppzUmmE0fPDeIx8Q4sd+EWHbtMTwXRtzr7gamoA6BgAzjvPd2dOiLkkloyynKcleasf\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CAROLINA CONTRERAS",
    "correoContacto": "carolina.contreras@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"29581\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-R1107\",\"id_control\":\"29581\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "08:59",
    "ubicacionGPS": "LatLng(lat: -31.7471073, lng: -71.3065973)",
    "horaLlegada": "08:33",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 08:59:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 08:59:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[11/08/2026 08:59: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('76050301', 'KY3372', 2, 20988335, 0, NOW(), 
				'08:00', '08:33', '08:59', 1, 'se entrega multifuncional al usuario, se da indicaciones para que el usuario identifique el equipo con su respectiva serie interna.', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786453199.png', '', null, 'COMPLETADO','LatLng(lat: -31.7471073, lng: -71.3065973)' )
				
[11/08/2026 08:59:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201426

11/08/2026 08:59:59 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76050301'
				   AND serieintmaquina = 'KY3372'
		
11/08/2026 08:59:59 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3372'
				   AND estado = 1
				
11/08/2026 08:59:59 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76050301', 'KY3372', 1, 1, now(), 'bodega berliam', 'Salamanca ', 'bodega 3');
				
=========================================
FECHA: 11/08/2026 08:59:59
listaInsumosUsadosConsolidado===

idReport:201426

idInventario:KYO-I1045

idControl:29581

cantidadAsignada:1

cantidadUsada:1

[11/08/2026 08:59:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201426', 'KYO-I1045', 1)
				
[11/08/2026 08:59:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29581 and
				    IDproducto = 'KYO-I1045'
				

11/08/2026 08:59:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I1045';
                
=========================================
FECHA: 11/08/2026 08:59:59
listaInsumosUsadosConsolidado===

idReport:201426

idInventario:KYO-R1107

idControl:29581

cantidadAsignada:2

cantidadUsada:2

[11/08/2026 08:59:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201426', 'KYO-R1107', 2)
				
[11/08/2026 08:59:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29581 and
				    IDproducto = 'KYO-R1107'
				

11/08/2026 08:59:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-R1107';
                
11/08/2026 08:59:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201426'                    
				WHERE idllamado = 13719			
				TO ENVIO: micorreo@miempresa.cl, carolina.contreras@veltislatam.com, donkhapone@outlook.com


11/08/2026 08:59:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13719			
				
11/08/2026 08:59:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 08:59:59 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-w8fKd+0Ex5e2CodbspD7JgizFfjjF6GGG49kym50kgcFGrHqRRe
11/08/2026 08:59:59 Detectado modo MULTIPART/FORM-DATA
11/08/2026 08:59:59 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786453199.png
11/08/2026 08:59:59 Envío correo: OK
------------------

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 08: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 09:00:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:00:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13719
LIMIT 1;
        

11/08/2026 09: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13719
                and cs.estado_control = 1;
                

11/08/2026 09:10:44 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 09:10: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/08/2026 09:10:44 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 09:10: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/08/2026 09:10:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:10: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/08/2026 09:10:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:47 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09: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/08/2026 09:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:47 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:47 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:47 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:47 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09: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/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 09: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/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

[11/08/2026 09: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

[11/08/2026 09: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/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09: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/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:50 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09: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/08/2026 09:10:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:10: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/08/2026 09:10: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/08/2026 09:10: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/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09:10: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/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:10: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/08/2026 09:10: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/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:10: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/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

[11/08/2026 09:10: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/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09:10: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/08/2026 09:10:59 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:10: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/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:10:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:10:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

[11/08/2026 09:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

[11/08/2026 09:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13699
            GROUP BY l.idllamado;
            

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13699
                and cs.estado_control = 1;
                

11/08/2026 09:15:26 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 09:15: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;
                

11/08/2026 09:15:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 09:15: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;
				

11/08/2026 09:15:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:15:28 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 09:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13699
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3196
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:15:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 09:15:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13719
                and cs.estado_control = 1;
                

11/08/2026 09:15:43 - INPUT: {"rutTecnico":"20988335"}[11/08/2026 09:15:43] 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/08/2026 09:15:43 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => MA-5500
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 06/08/2026
        )

)
[11/08/2026 09:15: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 = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 09:15:50 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:15:50] 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/08/2026 09:15:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:15:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:15:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:15:51 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:15: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;
                

11/08/2026 09:15:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:15:51 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:15: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;
                

11/08/2026 09:15:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:15:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:15:53 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:15: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;
                

11/08/2026 09:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:15:53 - INPUT: {"rutTecnico":"20988335"}
11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

[11/08/2026 09:15: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;
                

11/08/2026 09:15:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:15: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13720
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA-5500
            [SerieInternaMaquina] => KY3373
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 09:16:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hXuxroD9ENcnQ65lkda-yNH34iKdq.pk1bKhEvQT95k_fqE-r1E
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY3373",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "bodega",
    "ciudadmaquina": "Salamanca",
    "departamentomaquina": "bodega 3",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega multifuncional al usuario, se da indicaciones para que el usuario identifique el equipo con su respectiva serie interna.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13720",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACWAQgDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQECAwf\/xAA\/EAABAwMCAgYGBQwDAQAAAAABAAIDBAURBiESMRNBUYGRoRQjYXGxwRUiMkLCBxYkN1JicnSS0dLhQ1NUgv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC0RAAIBAgQEBQQDAQAAAAAAAAABAgMREiExUQRBcaETMmGx0SJSweFygZHw\/9oADAMBAAIRAxEAPwD7MiltQXW8U17p6KikjgjnAbG57QQ9xPbg46h3rt0Gs\/8A10fgP8VZgyvczPiVicVFu3oU6KZNHrJ42uVGz\/5H+BXBseo5T62\/8IHLo2kfDC5gW48eT0g+3yUkkscLC+WRrGjm5xwFqazVdmo2nNUJ3dTYBx57+XmsOLRdNI\/pLjW1NbJnm52M\/E+a21JZLZQkGmoo2EcnEcRHefcloL1F68tEo9zS\/nJebgD9FWV\/D1STcjv3DzWRR0mp5quKaurYIoGvDnwxgZIznGw+aoUTGuSCoSbvObfZdgiIoGkIiIAix6eupauSaOnmbI6B3DIG\/dPYshDiaeaCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDQaxpTLZ\/S4iWzUjw9jgTkAkA\/I9y21vq219vp6puPWxhxA6jjcdxXeqp2VdJNTSfYlYWHHYRhaLRdQ422aglPraOYsIznAP+w5Waw6GbyV\/5Luv0UaIirNIREQBERAEREAREQEhaCKDXlwpA\/DJwXBvLLjh\/kC5V6+e3Cmq6y\/XS40LyZaGVpw3Odtvl5FW1quUV2t8dXDtxDDm\/su6wrai0Zg4SavKHq2ulzMREVRvC11vvlBdKmWClkLnxbnLSMjt39qzpS4RPLPtcJ4ds7r55oqoEGog08qiJzGkjH734VZGF4t7GWtXdOpCPJn0ZERVmoIiIAiIgCIiAIiIAiIgCIiAIiIApeld9G68qac5EVdH0jAT97nnxDlUKX1fmjq7ZdmZHQTcLyOtvPHkfFWQzdtzNxOUVP7Wn8lQi4BBGQcgrlVmkIiIAiIgCIiALznmbT08kz\/sxsLjvjYDK9FpdXVPo2nKjH2pcRjvO\/lldiruxCpPBBy2MTRULn22prJcF1XO5xGOof7JWLKHaQvglZk2utdhzf8Aqd\/r4e5UNkpfQ7LSQEYc2IFwx1nc+ZK9q6ihuFHJSzt4mSDHuPUR7lZj+p30MqoPwY28y9\/2ezXNewPY4Oa4ZBByCF2Urp+umtFedPXFwyN6aXOzger+3gqpQlHCzRSqKpG\/Pn6ML5jbD6HdqIcIY+KuMcmOoHhb7f3l9OXzW9RGk1fLG3YPqWSg+04PxJVtHmjFx6soT2f\/AHsfSkRFQekEREAREQBdXvZGwvkcGNaMlzjgBa293ynstMHPHSTv2jhB3d\/YLUw2W6X94qb5O+CHJLKWI8Jx7ez4+5TUcrvQonWtLBBXft1M+o1fZKcub6UZXN6o2E+fLzXSPWdle7hdO+P+KM48srYU1mtlIwNhoYG46ywE+J3XpNbaCoGJqKnk\/iiBXbwI24jW6\/x\/J5wXq11JIhr4HEdXGAfArNBBGQcgrTT6Rsk+\/ofRntje4eWcL0tOnaWzzPkp5p3BwwGvfsO4YyuNR5MlGVa9pJW9GbZERQLwiIgC1GqKX0vT1UwN4nMb0jfYWnPwytuuskbZY3RvGWvBaR2grqdnchUjjg47mu07VCrsFHL1iMMPvb9X5LZqa0TI5lvqqGQnjpaggjqAP+wVSrs1aTK+HlipRb2CIiiXhERAEREAUtqnNfeLXaBu17+lkG\/2eXwDlUqWsx+k9YXC48OYqcdDGcbZ5ZHgfFWQyu9jLxP1KNPd9tWVKIirNRrL7ZIb1SCNzujmjyYpB90\/22C1dBqSe3zi33+IwPaPqVB3a8e3bf3jyVOsesoaW4Q9FVwMlb1cQ3HuPMdympK1noZ6lJ4sdN2fZ9Ts2rpnxGZtRE6MDPGHgjt5qKus1Hcdb0XQyCSMPYyRwGWlwOcAjn1Bbl2h7O6Tj9e0fsB4x8MrB1PbaWz01uqqOARCnqQTw9ed8k8\/uqcMKeRm4jxZQvNJJWZYIuAQRkHIK5VJ6IREQBY9dWRW+ilq5ziOJuT7ewd52WQpa\/u+mL9SWNjj0TD0tTg42548PiFKKuymtUcIXWui6jT9BJdK9+obg0EyH9HjI2aBsHeW3iqldIomQxMijaGsY0Na0dQHILukpXZ2lTVONufPqERFEtCIiAIiIAiIgCIiAmLR+h62utKDhs7BMPadj+IqnUxd\/wBD1raqv7s7TCfadx+IKnU58mZuHyxQ2b75hF1c5rGlz3BrRzJOAEa5r2B7HBzXDIIOQQoGk7IiIAiIgMK8VnoFoqqoHDo4zwn947DzIWv0dRCksETy0B9QTI446uQ8gPFY+t53C1w0cZ+vVTBuM8wN\/jhUNPC2mpooGfZiYGN9wGFZpDqZV9XEN\/avc9ERFWagiIgC02rKb0nTlUAMujAkHswd\/LK3K8K2L0ihqIcZ6SJzce8YXYuzTK6sccHHdGPZKn0uyUcxOS6JocfaBg+YWep7RExk061h\/wCKVzRv3\/NUK7NWk0RoSxUoy9AiIolxw5wa0ucQABkk9Sl9IRurKq4XmRv1qiUsZluMN5n5DuW11LVOo9P1krThxZwAg7\/WIb81xpql9E09Rx4wXM6Q9uXb\/NWLKDZln9VeK2V\/x8m1REVZqCIiAIiIAiIgCIiAIiICX1u5sNPQVQcOkhqAWtJ3I5nbr5DxXSW\/3a8yGCxUjo4ts1Moxj5DzXTUWnJZorjcpqp8rmtD4YxkBjRzz3Z+K3mnpxU2CikH\/UGn3jY+YV10oJ6nnKNSdeUW8Kefrll\/RqhpCSscJLxdaiqfz4WnDW+7OfIBUFHR09BTNpqaPgjZyGc+a90Vbk3qbKdGFN3iswiIoloREQExdc12trbSjdtKwzOz1Hn8m+Kp1MWLNbq271x3ERELfHG39HmqdWTysjNw+alPdvtkERFWaQiIgCIiAmNF5hFyojzgqTty7R+FU6mLDiHVt6g5cZEmO\/P4lTqdTzGbhcqSW113CIigaSa1q90lDS0Ee76qcAbZ2G3xcFRxsbFG2Nv2WAAe4KavnrtYWaA7hmZADyznP4VTqcsopGalnVnLou37CIigaQiIgCIiAIiIAiIgCIiA86iIT00sJ5SMLT3jC0Gh5S6xvhcd4Z3Nx2cj8SVRqW0sPRL3eKA4HDKHsHsyfkQrI+VozVMq0H1X5\/BUoiKs0hERAF0mkEML5SMhjS7HuXdazUlQabT1bIDgmPgz\/EeH5rqV3YhOWGLlsa3Q7HG1T1L\/ALc9Q5xx2YHzyqVarTMIg07RNDeHij4z7eI5+a2qlN3kyvh44aUV6BERQLwiIgCIiAmLbhmvrozmTA13kz+6p1MUP6xLl\/LD4RqnU56roZuG0l1fuERFA0kxc\/V68tcn7UJbvy+\/\/dU6mNUfo96stadmNm4HnljcdfuyqdTlomZqOU6i9fdIIiKBpCIiAIiIAiIgCIiAIiIApc8NH+UMYAHplPue4\/4KoUxqD1GqrJUDYveY894H4lZDVozcTlFS2a+CnREVZpCIiAKb1zLwWJsQzmWZrcDr2J+QVItZd7OLtJRudKWMp5ekc0D7Xf1KUGlJNlPERlOk4x1Zn08XQU0UW3q2Bu3sGF6IiiXJWCIiAIiIAiIgJiD9YlT\/ACw+DVTqYg\/WJU\/yw+DVTqc+XQzcPpL+TCIigaTWagtQu9qkgDcyt+vFvj6w6s+3l3rH05fm3OE01R6uug+rIw83Y24h81u1ob5pz02YXC3ymmr49w5uwk26+w+3x9k4tNYWZqsZxl4kM91v+zfIpmk1VNSStpL\/AErqWbOBKG\/UdyGfjuNlRxSxzxNlhe2SN4y1zTkELji1qWU6sKnlfyd0RFEtCIiAIiIAin7Zca2nv1Ta7lxv6R5kppS3Yt7NvZ4boutWK6dRTV0UCIi4WBTGt\/VU1BVjYw1IwezbP4VTqe1vFJJp8uYMiOVrnbdW4+JCnT8yM3FK9GRQosO01ba61U1S0gh8YzjqPIjxysxRasaItSSaCIi4dCIiAIiIAiIgCIiAIiICXopGv\/KHXgkHFOA3HUQGZ+aqFr6azUtLdZ7kzjM04w7iIIG+Tjy8FsFKTT0KKMJQTxc22ERFEvCIiA8qimgq4TDUwsljPNrxkKbk0rXW5z5bDc5IQdzDKcgn38vEd6qUUlJrQqqUYVM3rvzJf6c1Bbi5tws\/Ttbn1tOTgjt2z8lz+fVFHtUUNZE7s4W\/MhU6LuKPNFfhVV5Z\/wCq\/wAEx+f1q\/8APWf0N\/yQ67oX7QUVXI7s4Wj4EqnRLw27jw6\/39v2TP503KUgQadqjnm53FgH+lcem6trzwwUMNCx3\/JKclvjn4KnRMS5IeDN+ab7I0Ns07LBXC4XKtfWVQzwg\/Yae0eaLfIott6ltOnGmrRCIi4WBdJYmTwvikaHMeC1wIyCERAYdntbbPQikZM6VocXAuGMZ6lnoi63d3ZGMVFKK0CIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CAROLINA CONTRERAS",
    "correoContacto": "carolina.contreras@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"29583\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"KYO-R1107\",\"id_control\":\"29583\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:16",
    "ubicacionGPS": "LatLng(lat: -31.8070202, lng: -71.3444239)",
    "horaLlegada": "08:33",
    "horaDespacho": "08:59",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 09:16:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[11/08/2026 09:16:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY3373', 2, 20988335, 0, NOW(), 
				'08:59', '08:33', '09:16', 1, 'se entrega multifuncional al usuario, se da indicaciones para que el usuario identifique el equipo con su respectiva serie interna.', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786454213.png', '', null, 'COMPLETADO','LatLng(lat: -31.8070202, lng: -71.3444239)' )
				
[11/08/2026 09:16:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201427

11/08/2026 09:16:53 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76050301'
				   AND serieintmaquina = 'KY3373'
		
11/08/2026 09:16:53 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY3373'
				   AND estado = 1
				
11/08/2026 09:16:54 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76050301', 'KY3373', 1, 1, now(), 'bodega', 'Salamanca', 'bodega 3');
				
=========================================
FECHA: 11/08/2026 09:16:54
listaInsumosUsadosConsolidado===

idReport:201427

idInventario:KYO-I1045

idControl:29583

cantidadAsignada:3

cantidadUsada:3

[11/08/2026 09:16:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201427', 'KYO-I1045', 3)
				
[11/08/2026 09:16:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29583 and
				    IDproducto = 'KYO-I1045'
				

11/08/2026 09:16:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'KYO-I1045';
                
=========================================
FECHA: 11/08/2026 09:16:54
listaInsumosUsadosConsolidado===

idReport:201427

idInventario:KYO-R1107

idControl:29583

cantidadAsignada:1

cantidadUsada:1

[11/08/2026 09:16:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201427', 'KYO-R1107', 1)
				
[11/08/2026 09:16:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29583 and
				    IDproducto = 'KYO-R1107'
				

11/08/2026 09:16:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1107';
                
11/08/2026 09:16:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201427'                    
				WHERE idllamado = 13720			
				TO ENVIO: micorreo@miempresa.cl, carolina.contreras@veltislatam.com, donkhapone@outlook.com


11/08/2026 09:16:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13720			
				
11/08/2026 09:16: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/08/2026 09:16:53 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-hXuxroD9ENcnQ65lkda-yNH34iKdq.pk1bKhEvQT95k_fqE-r1E
11/08/2026 09:16:53 Detectado modo MULTIPART/FORM-DATA
11/08/2026 09:16:53 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786454213.png
11/08/2026 09:16:54 Envío correo: Fallo
------------------

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:56 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:16:56] 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/08/2026 09:16:56 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09:16:56 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:16:56] 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/08/2026 09:16:56 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
11/08/2026 09:16:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:56 - INPUT: {"rutTecnico":"20988335"}
[11/08/2026 09:16:56] 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/08/2026 09:16:56 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
11/08/2026 09:16:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:16: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13720
LIMIT 1;
        

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                

11/08/2026 09:16:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13720
                and cs.estado_control = 1;
                
[11/08/2026 09:40: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;
				

11/08/2026 09:40:12 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 09:40: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;
                

11/08/2026 09:40:12 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

)

11/08/2026 09:40:18 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:21 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:23 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:25 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:26 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13710
            GROUP BY l.idllamado;
            

11/08/2026 09:40:27 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:28 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:29 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

[11/08/2026 09:40: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;
                

11/08/2026 09:40:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:30 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:31 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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/08/2026 09:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:31 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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/08/2026 09:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:31 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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/08/2026 09:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:38 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09:40:38 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

[11/08/2026 09:40: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;
                

11/08/2026 09:40:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:38 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:38 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:40 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09:40:40 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

[11/08/2026 09:40: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;
                

11/08/2026 09:40:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:41 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 09:40: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;
                

11/08/2026 09:40:41 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => JUNTA NACIONAL DE JARDINES INFANTILES
            [ciudad] => 
            [RutCliente] => 70072600
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 04/08/2026
        )

)
[11/08/2026 09:40: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;
				

11/08/2026 09:40:41 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:43 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

[11/08/2026 09:40: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;
                

11/08/2026 09:40:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:46 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:40: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;
                

11/08/2026 09:40:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:50 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

[11/08/2026 09:40: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;
                

11/08/2026 09:40:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:40:52 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09:40: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

[11/08/2026 09:40: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;
                

11/08/2026 09:40: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13736
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:41:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:41:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:41:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:41:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:41:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:41:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            
=========================================
FECHA: 11/08/2026 09:48:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0av5mSQ3lk5fXzbhh0JPPImDpCJEBJuNA1+WQe_MIHO3b2A2bmc
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76270521",
    "serieinterna": "KY2466",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "292096",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega toner\n•Recibe Andrea Cabrera",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13736",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2AWcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABEEAABBAEBBQUGBAQCCAcBAAABAAIDBAURBhIhMUETUWFxsRQigZGhwRUjMtEWQuHwJDM0Q2JlcnOC8QclNVJjosLS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECBAIJAwQCAwAAAAAAAAECAxESITFBBFETIjJhcYGhseGR0fAUI0LBJPFSU2L\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvMkjImF8j2saObnHQLVcu16FZ1m1II42cyfQd6qsbL22dkSzA1sTE\/3WDgZT9z48h06qcY3zehRVrYGoxV5PYuKLyxjY42sYNGtAAHcF6UC81WbMFOB09iVsUbBqXOOgVcl2mvZSR0GAovlAOjrEg0aPLXgPj8lpnd\/F+abXjL\/wuodXuHKR398PLXvVrihjgibFCxscbBo1rRoAFZZR11MmKdZvC7R57vwOPERZKKmRlJ45py8kGMcA3hw5Drqu9EUG7mmMcKsFpt+0eyS+ybnb7p7Pf5a+K3IuHWrqxXKe0VmpdbQz0DK0rx+XM39Dunefn6Kxrgy+Khy1F1eQaPHGN\/Vjuh1UdsrlJbEEmNtgi3SO47U6lzQdNfhy+SsaTV0Z4SlTn0c3dPR\/0ywIiKs0hERAEREAREQBERAEREAREQBERAEREAREQBEWueeKtC6aeRscbRqXOOgCBuxsRYa4OaHNIII1BHVZQBERAEREAREQBERAFxZTKVcTUNi0\/QcmtHN57gvOWy9XD1DPYdqTwZGP1PPgoXGYizmrjcxmh7vOCqRwaOhI+3Xqpxju9DPVqu+CnnL272aqVC5tTZZkcqDFRbxhrAkb3j5ePXyVsa1rGBjGhrWjQADQALIAA0A0AWVyUrkqVJU1zb1YXDmpXw4W7Iw6ObA\/Q93Bdy579f2vH2K45yxuaPMjguLUsmm4tIjNkIY4dm6xY3Qybz3nvOpHoAPgptV7Yu32+DFd2gkqvLCNehOoP1I+CsKlPtMq4Zp0Y25BERQLwiIgCq2W3sNtZUybGhsFsCGc9NdeZ+Gh\/wCkq0qJ2mx\/4jg542tLpIx2kYHeP6aj4qcHZ5lHERcoXjqs15Esii9nL34hgq0xdq9rezfx1OreHHz5\/FSii1Z2LYSU4qS3CIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAtFypDfqSVbDN6KQaOC3ohxpNWZU6lyzstdbj8g7fxzz+RY0Pua9D4DuVqa5r2B7HBzXDUEHUELTdpV8hVfWsxh8bxxHd4jxVaoWbOy2SbjL8hkx8x\/wAPMR+g937j4qzt5rUypug7Ps+3d4FtREVZrCIiAIiIAovN5yvha4c8dpO\/hHCDxd+wTOZyDC1t535lh\/CKIc3HvPgo\/B4OeSz+MZj8y4\/jHG7lEOnDv8OnnynGKtikZqlSTl0dPX2NeIwNm7bOWzw35nHWKA8ox01H2+fFWhEXJScmWUqUaasv9hFCZDa3F46w6B7pJZGEBwjbru6+ZGvwWyltRiLxDWWhE4nQNmG7qfPl9UwStexzp6WLDiVyXREUS4qVxr9mNojkg0nH3TuzBv8AI48ddPPU\/NWxrg5oc0ggjUEdVz5CjDkqUlScaskHTmD0KrVHL29mpRjcxC72Vp0htNBLQO7x9R4qztrvMd1w82n2X6P7FuRa4ZorELJoXh8bxq1zTwIXPlMlDiaLrU\/FoIAA6k9FCzbsanJKOJvI7EUbh85VzMTnQhzJI9N+N44g+HeFJI007MRnGaxReQREXCRVdnB+F7R5LEHQRuPaxDU8uYHyI+StSq+0H+B2oxGQB3RIexefDX9nH5K0KyednzMvD9XFT5P0eYRYJAGpOgC5Z8rj6xImvV43D+V0oB+Sha5pcktWdaKDsbYYSAcLLpT3RsJ+p4LkG2TrJ\/8AL8PbsAnTXT9tVLo5cih8TRTti+mfsWdFWPxvaWX\/ACsCGf8AMcf6J7ZtlJxGOqRDpq4cf\/smB8zn6mOyb8mWdFWBZ2ybqTRqP7hvD\/8ApY\/iHO1nA3cC8xj9bodToO\/qmB7D9TFapryZaEUfiM1TzMBkrP0e3Tfjd+pp\/vqii007MvjKMlii8iQREXCQREQBERAEREAREQBcOWxcGXoPrTDjzY7qx3QruRdTtmiMoqSs9Cv7L5OWRkmJv+5cp+7oeG80cvlw+GhVgVb2ooS15I89Q92xV07UD+dnj5enkprHX4slQiuQ\/pkGuh5tPUfNTkr9ZFFGTi3SlqtO9HUiIqzSFF5vNw4auCR2liThFCObj+y853Ow4auAB2tqXhFCOZ8T4eq48FgphP8Ai2XcZb0nFrXcoh+\/opqKSxSM1SpJy6Onru+XyYwmCnfaOYzB7W486xsPKIdOHf4dPPlY0RclJyeZbTpxpxsgo7PW30cHbsRv3HtZo13cSdB6qRURtVGZNmrjQCTo06DwcCke0jlZtU5Ncmedl8eynh4pzo+e00TSyni529xA158B9de9bsjs9jMmwias1j+ksQDXD49fjqveBkbLgKLm8hAxvxA0PopBdbak2Rp04OkotZWKe2TI7HStE733cU86Aj9UXdz5eXLyVqqW4L1Zlmu\/fjeNQdNFsexkjCyRoe1w0LXDUFVWhvbNbRuxztfYbx34STwY7++HyXe2u8qSfDySv1X6fBbFqsVoLcJhswsljPNrxqFtRVmtpPJlVm2ayGJebGz9x446uryuGjvnwPx081FbQ5jJT1a8GRxr6j45g\/tBruvIHTx+Kv6r229d02A7VnOvK2QnrpxH3CuhO8lcwcRw+ClJ020uWxXsnnaByUOXxXaRWmnSWORmgkHjofgrFFtrhnxNc+WSNxGpYYyd092oUlWjp5KlDbfVhf2zGvO9GDxI8Qq5jqlbEbUzYu1BFJXtDfrF8Ydoe7U\/EfALvVkrNaELVqUlJSVpd2\/13JJ+2uFY3Vssrz3NjOv10XN\/Gvbj\/AYi3Z492nlyB8VYGY+lG4PZTga4ci2JoI+i6FC8ORqwV3rNLwX3KBtJkMveoRvuYv2SCOUFrnOO9vaHh09Oil24rae+wOtZpldjhqBA3iPkB6rZt1\/6A3\/nt9CrBB\/kR\/8ACPRSc7RVkZ4UL1pKUm8l3c+RWxsSyYf43K27Hx09dV1wbG4SH9Vd8p75JD9tFOoodJLmaVwtFfx\/s44MRja2hho12EdRGNfmuxEUW2y9RUckgiIuHQiLXPPFWgfPM8MjjG85x6BA3YrkMbKu3ro6rBHHNBvTNbwBdxOqLzssyTI5W\/nZWbrZj2cQPE6cPQBo+aKyprYzcLnBy2bbRaURFWaQiIgCIiAIiIAiIgCIiAw5oc0tcAQRoQeqqmKe7Z\/aSTDvJFS0d+uSeRPIfQj4BWxQ+0eH\/FaO9D7tuA78LxwOvdr4+uinBrR7mevBtKcdV+NEwonO52HDVwAO1tS8IoRzPifD1UXHtnG3CtfIwvyWvZGDTm4fzHw+\/DxXRgsFMLBy2WPa3peLWu5Rf19F3BhzkQdfpLRo6vfl89wwWCmFg5bLHtb0vFrXcov6+isSIoyk5O7L6dONONkERFEsC03K7bdKes7lLG5h+I0W5EONXVmV3Yuy6TDOqSAiSpK5jmnmNTr66j4KxKq0dcTtvaqkEQ5BvaR8gCefrvBWK9cjoU5LU2u5GNTorJrrZbmbh5WpWl\/HL6fB0KvbaVzJhRaZq2WpK2RrhzHHT7g\/Bb8HtHFl3ugkidXsBu+GOHB7TyI+Gi37Rbo2fulw10iJHn0+q5FOM1c7UlCrQk4vKx2UbAt0a9kf62Nr\/mNVvUXs0XHZ2lvHU9n9NTopRRkrNoupyxQTe6C58hW9sx1iqCAZonMBJ5Ejgtr5Y4y0SSNZvHRu8dNT3Be1zQk0mmmV\/Y20JMOabzpNTkLHtI0IBJI+4+CztjTM+H9qi92am8StcBxA66fQ\/BceTP8ADu00eUHCpd9ycDo7v9D81YMjELeJsxNIcJYHBpB4HVp0VrykpLcxRWKjKjLVZfZjGW\/bsZXtHTekjBdpy3uv11XWoHYybtdm4W66mJ72H56\/dTpIA1J0AUJK0mjTRljpxlzRWtt3dpQqUm6GSxYG6CdNdAfuQrI1oYwNHIDRVSB38R7XNtRAOo48e6\/Tg93T68fJvirapTySRVQeOc6i0eS8giIqzUEREARFgkAak6AIDD3tjjdI9wa1oJcT0CqPaT7ZZJ0bS6LE1ne8RwMp6f30HivV\/IT7T5L8Jxry2kw\/4idvJw\/bu7z4Kz0qcFCpHVrM3I4xoB9yrewu8xt\/qJWXYWvf8HuGGKvCyGFgZGwaNa0cAEWxFUbNAiIgCIiAIiIAiIgCIiAIiIAonO52HDVwAO1tS8IoRzPifD1TO52HDVwAO1tS8IoRzPifD1XHgsFMLBy2WPa3peLWu5Rf19FOMUlikZqlSTl0dPXd8vkgm0ruBvVc7kY2SCeUmdu7qYi466+fE8uvBX2ORksbZI3BzHgOa4HgQeRWq5Tgv1ZK1hgfHINCPuPFVzDXZMDkH4TJPcInOJqzvPAju18foeCk3jV90VwiuGlh\/i\/f5LUiIqjaEREAREQFb2wpPFaHLV+Fik8O1HVuv2P3WnaC5HloMRXhkHY3pWlzTzI1HXw4jzVnliZNE+KRocx7S1zT1B5hfObMVjA56nVn1fBWnEkLj\/Mwka+nz1V9PreKPN4q9Nt7Stf870WXajGuihhy1Bu7apEEkcS5nj36emqztBlIrWxzrMR0FoMaOP6SSCQfIAqxOaHNLXAEEaEHqqx\/B2tkRm478PbKZRXAHPTh0\/7hRjJZX2La1OacujXaVn48ybw8BrYenC4aOZC0OHjpx+q7URVt3ZsisKSKhttWdZv4mBjtx88jow49CS0A\/VSOzOXnutno3uFyo7dd\/tDXTX4cvkubabSTaHAxNOr2z7xHhvM\/YrG0tSbHZCDaCmwl0ZDbLW\/zN7z4acPkrsnFRZ5zvCtOqtE1fwsvYsF6lBkaj6thu9G8acDoR4hViK5f2Tf7HeifbxpIEc7R\/lg9D+3yVnpXYMhUjtV3b0cg1HePA+K8ZOaOvjLM0oDmRxl2hGupA4fVVxduqzVVgpLpIuzW\/d9irbJ5nHY3GWWWbLYh25c1p1JI0HIc+i2z5PJbU9pTxURr0iN2WeXgXDqP6LbspgaMuFjs2qkcskrnODnjX3eX2VoYxkbAyNoY1o0DWjQBTnKKk2tTNQpVJ0oxk7RttqcuLxsGJosqQalreJcebj1JXYiKpu+Z6EYqKstAiIuHQiLDnBrS5xAAGpJ6IASANSdAFUclkrW0t12IxDt2q3\/SLHQj9vXyTJZK1tLddiMQ7dqt\/wBIsdCP29fJWPGYytiaba1ZmjRxc483nvKtSwZvUxyk+IeGPZ3fPuQxmMrYmm2tWZo0cXOPN57yuxEVbdzXGKirLQIiLh0IiIAiIgCIiAIiIAiIgChNps9+C1Y+xLHWZHcGO6N6n7Lbnc7Dhq4AHa2peEUI5nxPh6qKpbKyXq1i3mXl920w7uv+p7vj4dOSsjFLrS0MlapKV6dLte3yY2TpxZF0mbtze03HPI0I\/wAr+xy7grYvnWyeQfic46lYO6yZ3ZPB\/leDoPrw+K+irtVNSI8DOMqWWu\/iaLtyChUktWX7kcY1J+wVPy969nMYZpcSWUgC+OZrgXNI4a8dOHfw5fNdua3s7tDXwzAXVYPzLLmO68eB9PirS1oa0NaAABoAOiK0LPc7JS4hyje0Vl4v4KfsvtXvbmPyUnvcop3Hn4OPf4q4qo7RbHtsdpdxo3ZT7z4Oju\/d7j4Lj2f2tmqPZQyupiHutlcPej8Hd4UpRU1iiU0q86Euir+TL0iw1wc0OaQQRqCOqyqD0giIgCru2tNk2ENrc\/NrOBa4cwCQD9vkrEuDOwmxg7sQbvEwuIHiBqPRSg7STKa8cdKS7jj2Yzjcvj2slkHtcQ0kbyLh0d8fVTaoVWhOzB0c7i2kWoN5s7G\/ztDiOXXgOP8ARW3EZqpmKwlgeBIB78RPvMP7eKnONndFPDVm4qM9bfVfmpIIii85nK+FqGR5D53D8qLXi49\/kq0m3ZGqc4wi5SeRFvHtv\/iGxpGraVfUjzHP5vCszmtewse0Oa4aEEaghQmzOMsVopr94k3Lp33g6jdHMAjv9OSnVKbzstinh4vC5Pd3Km2C3sjalkgjfZxcpL3MHOHQd5+XjovOUyE21Abi8VE8QlwdPPIN0AA8tPP0VuXlrWsbusaGjuA0Xce9syD4Z2cFK0Xt8nitXiqVYq0Ld2OJoa0eAW1EVZqSsrIIiIdCIvEsscMTpZXhjGDVznHQAIDLnNYwve4Na0akk6ABVS5ctbV2nY\/GOMWPYfz7BBG\/4D9l4ltXdsLb6lRzq+LjP5kunGT++74nuVopUq+PqsrVowyNg4Dv8T4q3sa6mO74jJdj38O484\/HVcXWFepEGMHM9XHvJ711Iiqbua0lFWQREQ6EREBTdonZWLaiu2lbMRsRgRakhoI14HoTr6qQxu0zm2jjs3EKlsEBp\/lfry48tfHks7ZVJJcWy5CCZab+0BB5N6\/Y\/BdDq1DanDxWHxgOkZ7sjR78TuoB8CrrpxV0edhnGtJQeetno1\/smUVTpZi7gLLcZm270A4RWh1GvDXvH1CtbXBzQ5pBBGoI6quUWjZSqqostVqjKIiiWhERAFF5zOQYarvu0knfwiiB4uPf5LflcrWxFN1iw7wYwc3nuChcHirN++c9lm\/mu4wQnkwdDp6fPmpxitXoZ6tSV+jp6v0XP7G7B4SY2PxjLntLsvFjHDhEPLv9FYURRlJt3LKdONONkfP9tsX7HkW34mkMsn3iOjx+\/P5q14TLNu4Bl6dwBjYe2OvVvM\/f4rZnsccph56zGgyEb0ev\/uHL9viqXjb76eyWWruOj+0awAnkX8CPk0q9deCXI8+X+PxEpLSSb81+epP7GROniu5SXTtLcx8SAOPqforMuDB1fYsJUg1BLYwTpy1PE\/UrvVM3eTN1CGClFMKCzuy1XMN7SPdr2Qde0az9f\/F3+anUXFJxd0TqU41I4ZK6KFjM5kdmZ247KQPNYEhpIOrR3tPUeCvFazBcgbPXlbLG8ahzTqFoyeLqZaqa9tm8ObXDg5p7wVU4sZntl7M01FotVObm6\/qaOpHMHy9Fa8M+5mKPScM7PrQ9UXhFG4rO0cvGDBJuy6e9C\/g4fv5hSSqaayZujOM1eLugsOaHNLTxBGhWUXCRW9i2vhp26zmlvZWDoD5afZbsjsrWsWPbKMz6VsHUOj\/ST4jp05fJTyKbm8V0Z48PDo1TlnYrP4PtMTuHONEZGhIb73Ly+66MXsnToyizZc65a13u0l5A94H3OqnkRzYXDU07vPxdwiIoGgIiIAiIgCIuTI5Opiqxntyhjf5Rzc49wHVErnJSUVdm6xYhqQOnsSNjjYNS5xVUkde2ysGOIurYmJ3F5HGU\/wB\/AdV6ho3drbQuX9+vjmO\/Kg10L\/E\/v8laoYYq8LIYWBkbBo1rRwAVuUPEyWlxGuUPV\/B5qVIKNZlatGI4mDQALciKo1pJKyCIiHQiIgCIiA8vY2SN0b2hzXAhwPUKs7Kvfj8hkMJKR+S\/tIgTxLT\/AE3T8VaFVc7uY7a3F5E6MbNrHI7kO7U\/B30VkM7xMvEdVxqcn6PIsV2lXyFV9azGHxvHEd3iPFVh34rshJve\/fxh6cQYfXT0PgrevLmtewse0Oa4aEEaghRjK2T0J1aKm8SdpLc00rtfIVWWa0gfG8cD3eB8V0KpW6VnZOy7IY5rpqEjvz65P6B0I+vFWShfr5Koy1Vfvxu+bT3HuK7KNs1oKVVyeCeUl+XR0riyuVrYim6xYd4MYObz3BMrla2IpusWHeDGDm89wUFisVZzlxuZzLfc516x5AdCR3eqRju9DlWq0+jp9r272MTi7WbutzWYGjBxrVzyA6Eju9VakRclLETpUlTVt93zCLRbuVqMJmtTshYOrjpr5d6gztVLbO7i8XYse9ul7mkNadSOPwGqKLegnWhB2bzODDbUW4svJRy0jXh8m42VoADHDhp5FQG0kT4NoL8bSQ0ydo4a8Drof\/0rAdmLM2CvPnjaLtiQTsYOO4eZAPkSPMLkxmKsbQS35bg7GV8TGB5j4Bw04jUdzehWmLim5I8ipCrOCpy1ea9cvYuWOtw3cfDYgfvMcwfA9QV1KpHBZjAHtsJY9ojOhlgkAG8dOJA5fIg8hxW7+NG1QG5LF2q8mnENAI1+OiocL9nM9GPEKKtVVn6fUs6Lno3I8hSitwte1ko1aHjQroVZqTTV0EREOkFltmILj\/a6LvY7zTvCVmoBPiB6hcdfaS5iSKu0FWRpA0bYjAIf56cPl8laV4lijmjdHLG2Rjho5rhqD8FNTytLMzyoWlipuz9H5GmpkKd9m\/UsxzD\/AGXcR5jmF0qu29i8dK7tacktKXjoY3aj5Hj8iFtx2z1qrfjt28xYtmIENY7UA6jTjxPeUajsxGda9pR80\/xk6iIoGgIiIAiIgCIiAIireU2klltHGYKP2i2eDpQNWx\/Y+Z4ealGLloV1KsaavI7M5tDBiW9iwdvckGkcLePE8tdP7K4Mbs5PesDJ59\/bzHiyuf0sHcR9uXfquzCbOMxzzcuSe1X38XSu4hp\/2dfX0U2pOSjlEojSlVeKr5L782YAAGgGgCyiKs1hERAEREAREQBERAFBbY1TPgHysaS+u9srdPPQ\/Qk\/BTq12IGWa8kEgDmSNLXA9xUouzTK6sMcHHmaMfcZaxVe257dHxNc5xPAHTj9VhmWxsjwxmRqvc46BrZmkn6qi4OvbzFivh5nuFKm90sgHDjqevmfqVa3bH4ItIFItJHMSv4fVTlGMXZsy0a1WrBOCXmTPuSR9HscPMEFU+8X7HZUWamj6NrXer72m67w\/f4dy0ZGC3siW\/h+X3mSH3asg3nad+nL48FzVZKlnLzSbUOmjsSgsYx7C1sYI5+HPh8\/FTjC2eqKK1fE1G2Ga3vkvPv5EziMXPm7Dc1md17XDWvX\/laO\/RWlUvCZiLCZI4ma7HPRd70FjeGjNeh7h\/35FSV\/a6BrxXxULr9gnT3Ad0H7\/D5qM4ybLqFalCndvPfnf+ybt3K1GEzWp2QsHVx018u9V6XaW9lJXV8BSdJodHWZBo1v2+fySpszYyUzb20ExmkI1bXa7RrB3HT0CssUMcETYoWNjjYNGtaNAAo9WPey392r\/wCV6\/BAUtk4zKbeXmdesu4uDjqwHw7\/AOxorAxjI2BkbQxrRoGtGgC9IouTepdTpQprqoLAAHIaLKKJYEREAREQBERAEREAREQBERAEREAREQBeJZo4InSzPbHGwauc46ABceVzNLDw79qT3yNWRt4ud5D7qAjp5PauYT3i6njQQWQA8ZB\/fX5KcY3zehRUrYXggry5fcWL97aud1LFl1eg06S2XAgu8B+3z0VgxeJqYisIa0fH+aQ\/qefErpr14akDYK8bY42DQNaFtSUr5LQU6OF45u8vzQIiKBeEREAREQBERAEREAREQBYJAGpOgCytF4gULBJ0Aid6FDjdlcqew9lk+SyTi0dpMRICeemp1H1Clc1tG2nL7Bj2e05B\/utY3iGHx8fBUfBuv\/iIgxknZ2LDDHvHhoOZ4+QX0HC4Gth4iR+bZfxkncOLj4dwWiooqV2eVwk6lSlgjlzf27zlwuzbq1j8Ryc3tN9\/HU8Wx+Xj\/YUxapVbzAy1Xjma06gPaDoVvRUuTbuejClCEcKWRXr2xmJsV3itCa8xHuva9xGvTUE8lo2SniqumxE9ZkF2AnecAPzW689ev7K0KA2lw77DGZOgNy9V94ED9bR08+75KaliWGTKKlFU30tNZrVc19yfRRuCy8eZxzbDQGyD3ZWA\/pd+yklW007M1QkpxUo6MIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiKOyucoYePWzL+YRq2JvFzv28yupN5IjKUYK8nZEgSANSdAFXsptQ1soo4dnttx\/AFnFrPHx9O9coZmtqSHSE47Gk\/pH65B9\/oPNT+NxFHExdnUhDSRo554ud5lTso65szY6lbsZLnv5L+yKxOy7Y5fb8s\/2u687x3uLWHw7\/TuViRFGUnLUvp0401aKCIiiWBERAEREAREQBERAEREAREQGuaQwwPlEb5NxpO4waud4DxVRmjzG1ET55g6ljmtLmRD9Umg+vp5q5LBAI0I1BUoywlNWl0mTeXLmfN8SW1pMJcb1sviefiPs5fSV8xk3oMJPBruy0shrunpqCOHXm1fTGPEkbXt5OAIVtbZmPgHZOPh9v6PSIioPSCIiAqWQjdsxtAzJQNLaFs7thoGoaf74\/MK1tc17A9jg5rhqCDqCFpv0ocjSlqTjVkjdNeoPQjxCgdl781aaTA3+E9fXsSf5mf3xHh5Kx9aN90ZI\/s1MP8Zadz5eZZkRFWawiIgCIiAIiIAiIgCIiAIiIAvEs0cETpZntjjYNXOcdAAuDL52jhotbEm9KR7sTOLj+w8VCx4rKbSzNtZd7qtPnHVYdCR4\/uePkpqO70M9StZ4IK8vbxPVraG9mLDqOz8RIHB9pw0AHh3evgu3FbK1aMvtVp7rls8XSScQD3gH1Kl6tSvSgbBWibFG3k1oW5HPaJyNC7x1Hd+i8AiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAom19SbH3LFmIE18g0B+h\/S4aft9SrVs\/Y9qwFKX\/AOINPm33T6LquU4L9Z9ezGHxvHEfsqPs\/gXZEW68l+zXkqS7jmMPDr494KvupQz2POcZUa94q6lt6l\/RVj+C\/wDfFz5\/1T+C\/wDfFz5\/1UMMeZo6St\/1+qLOirDtm8xWJdQz8vHkyUHQfUj6LDrW1uN0dPVhyDBzMXP5DQ\/RMCejHTuPbg16+xaFXtqMTLPHHlKIIu1DvDdHF7R0+H7r1Q2xxls9nO51ObXQtm4DXz\/fRTzXBzQ5pBBGoI6rnWgzrdPiINJ3OHDZSPL46OyzQP00kYDruu7l3qpQj+GtrHRO9yjkeLCeTXf0J08iFbUmrPLQ7QqOUbS1WT\/O8IiKBeEREAREQBERAEREAUVnbeUgjiixVQzSzEgyn9Mfn\/XgpVF1OzIzi5RsnYgcRsxFUl9syEntl53F0jzq1p8Nefmfop5ERyb1OU6caatFBERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAFVqumN28swnUMvRb7QT156\/MOVpVY2xiNd1DMRt1dUmAfoOJaTqPqNP+pWQ1tzM3E5RU\/+Lv8Acs6LxFI2aJkrDq17Q5p8CvarNIREQHFkMPQycZbbrMeTyeBo4fEcVXnVc3suRJVkfkce3gYTqXNGnkdB5fEK3IpqbWWxRUoRm8SyfNfmZV8nap7UbPysquBtxASiF3B7SOY068NR8lK7P5F2Uw0Fl\/8Amabj\/Fw4a\/HmuXKbJY3IEyxM9ln578Q4E95b+2i7sRjG4qma4ldKS7ec92upPzKk3HDZFVOFVVcUltrz5ZHeiIqjYEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBcmVpNyOLsVHDXtGEN46e9zH1AXWi6nbM5JKSaZAbGW3WcCyJ+u\/WeYzrz05j10+Cn1VahGE20nrOfpBkW9owdA8k\/feHxCtSlNZ35mfhm+jwvWOX0CIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICMy+Fjyrq0hf2ctaTfa\/d118OY6gfJSaIu3drEVCKbktWERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "TRANSMAT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAUL VARGAS",
    "correoContacto": "raulvargas@transmat.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "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\":\"29598\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:48",
    "ubicacionGPS": "LatLng(lat: -23.7523769, lng: -70.3059322)",
    "horaLlegada": "09:40",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 09:48:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 09:48:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76270521

[11/08/2026 09:48: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('76270521', 'KY2466', 1, 24456550, 292096, NOW(), 
				'08:00', '09:40', '09:48', 10, '•Entrega toner
•Recibe Andrea Cabrera', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786456101.png', '', null, 'COMPLETADO','LatLng(lat: -23.7523769, lng: -70.3059322)' )
				
[11/08/2026 09:48:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201428
[11/08/2026 09:48:21] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201428', 'KYO-I647', 1)
				
[11/08/2026 09:48:21] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29598 and
				    IDproducto = 'KYO-I647'
				

11/08/2026 09:48:21 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
11/08/2026 09:48:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201428'                    
				WHERE idllamado = 13736			
				TO ENVIO: micorreo@miempresa.cl, raulvargas@transmat.cl, donkhapone@outlook.com


11/08/2026 09:48:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13736			
				
11/08/2026 09:48: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

11/08/2026 09:48:21 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-0av5mSQ3lk5fXzbhh0JPPImDpCJEBJuNA1+WQe_MIHO3b2A2bmc
11/08/2026 09:48:21 Detectado modo MULTIPART/FORM-DATA
11/08/2026 09:48:21 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786456101.png
11/08/2026 09:48:21 Envío correo: Fallo
------------------

11/08/2026 09:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:48:33 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 09:48:33 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 09:48: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;
                

[11/08/2026 09:48: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;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09:48:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:48:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13736
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13736
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:35 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:37 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 09:57: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/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 09:57: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/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57: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/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 09:57: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/08/2026 09:57:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 09: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:06: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/08/2026 10:06:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:06: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/08/2026 10:06:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06: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/08/2026 10:06:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:06:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:06:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:18 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07: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/08/2026 10:07:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:07: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/08/2026 10:07:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:07: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/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:07: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/08/2026 10:07:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:07: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/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:21 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:21 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:07: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/08/2026 10:07:21 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:07:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:07: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/08/2026 10:07:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13723
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2137
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:07:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:11:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 10:12:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6LBFbsyF+kT2SzUaqAszCmcHVm8qO-AbQ_CRtyP3XChdN6dCYhr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2137",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "65260",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion escaner\nFirmado por Sebastian Campos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13723",
    "observacion": "Conexion escaner\nFirmado por Sebastian Campos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXASoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABIEAABAwMCAgcGAwILBgcAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhscEjQtEV8AcWM0NSYoKSwuHxJCU0RaLSF2VydKSy4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgMECQQCAgMAAAAAAAABAgMREiExBBNBUSIyYXGBkaGx0RQjweEz8ELxUmKy\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiALVU1MNHA6eokEcbBkuK0XS6UtppDUVT8Dk1o5vPYFXqOgq9U1bbjdGuioG7wU2ccQ7T+vX4KcY3zehRUrYXghnL+5s3v1bNWyOisltlqnN5yPGGjf9+ZCxFNrCuJdLV09C0n4GgE\/IH6qyQwQ00QigiZFG3k1gwAti7iS0RDcTl15vwyRWP2NqdnvR31rnDkHN2PyKwF9vVllay90gmp3ED2mEfD4428tlalrqII6qnkgmaHxyNLXA9YTHfVB7O4505NPvuvUU88VVAyeF3FG8ZacEZHmtirWlnSUdfcLMXcUVM\/ij25A+fn6qyqMlZ2LaNTeQTeoREUS0IiIAiIgCIiAIiIAiIgCIiAKGuOqrXbak08sj5JGg8QibxcJHUd+fV9cLgu10qrxWmzWV+ANqmoHJo7AVH3a00tJ7Jp+2tBqal4M8pALi0dvYOvHcrYwX+RhrbROz3XDjzfJF1ikZNE2WNwcx4yHNIII8Qs1hDE2CFkTBhsbQ1oxjYbdSzVRtV7ZhERDoREQBERAEREAREQBcV1ulPaKJ1TUHbk1o5vPYF1SyshifLI4NYxpc5x6gOZVUoIJNXXD9pVgLKCndww05OeIjnn7+nUpxjfN6FFao42jDrPT5Nlms012qf21ehxl54oID8LW9WR2dg9VakRclJyZKlSVNWWvF8wiIoloREQFZt22vroGgcPQNye\/DP8ANWZVjTH+1Xy81w2a6Xo2jt3P6BWdTqa2M2zZwb5t+4REUDSEREAREQBERAEREAREQBQGp7q+CFlsovfrav3A0c2tOQT3f6lS1wrobbQy1c7gGxtJAzjiPUB3lQel6GWpkkv1eCampJ6IHkxnd2dnh4qcVbpMzVpOTVKOr17Ed1BR0ml7G4yvGGDjmlA3e798AKP0rSzVlVVX+sbiWpJEQP5W93oAPBa75JLfr5HYad2KeEiSpkAzg45fMeZ7laIomQxMijaGsY0Na0dQHIKTdlnqyuEVOaS6sNO\/9GaIiqNoREQBERAEREARForKynoKZ1TVSCONnMn6DtQ42krs3oqs\/U9xuTuCx2x8jeLHTyj3f0HqjdMXO4F0l4u8hyciKAnhH2+SswW6zsZvqMX8cW\/ReZnqqolrKmlsNLIWS1J4pDg44N9jjwJ8lYKWmio6WOmhGI4mhrR3Kj2vTNNcbvcKWoqJ+CkcGtIcA87nnkd3zCu1DRx0FHHSwlxjiGG8RyV2dkkkyGzOc5yqSWvby4HQiIqjaEREAXPX1Io6CepOfw2FwwM5PV810KE1TS1lfbmUdJCXiaVokcCBwjPPHWFKKu8yurJxg2tTXoulNNp9jyMOne6Ty5D6KfWqmp46Wmip4hiOJgY0dwGFtSTu2xShu6ajyCIiiWBERAEREAREQBERAERQmqbu+2W3gp3Yq6g8EQG5HacfLxIXUm3ZEKk1Ti5PgRtW92qdQChjybdQuzOdsOeMj58vUqX1BdhZrZmFoNRIRHBHjr8O4fZZWG1R2W1NicQJCOOZxx8WN9+wKItzTqPUkl0eD7HREMgB3DnDfOx7d\/RW5N9iMfTjH\/vP0\/0vUkdM2c2q38c29VUYfKSNxt8Plv5kqaRFU227s2U4KnFRjogiIuEwiIgCIiAIihb9fv2fw0dGzp7hNtHGN+HPWV1Jt2RCc4044pG29X+ks0WHnpalw\/Dhadz49gUVSWOuvdU24X8ljGnMVINgB3jq+q7bJpxlG\/26vPtNwkPE57jkMPd39\/op1TxKOUTOqcqrxVdOXyYsYyNgZG0Ma0YDWjACyRFWayuXO13KguMl1snA50uOnp3DZ\/f\/AKb7nwWVLq6AT+zXSnkt84G\/SfCee+ezb5qwrnrKGlr4uiqoGStHLI3b3g8x5KeJPKSMzoyi26bt2PT9G5j2SND2ODmnkWnIKyVUk0zcbTKZ7BXODScup5TsfsfPHit9Lq0QyimvVI+hn2HHglh5eY59\/iu4L9XMLaMLtVWH28yyItcFRDUxNlgkbIxwyHNOVsVZpTvoEREAREQBERAEREAREQBERAEREB45wa0ucQABkk9Sq1lY+\/X+a9S59mgJZSscDjsz6ZPie5dGrayUwQ2mlGaiucG47G58FL0tPT2i1shDg2Gmj95x7ty4\/MqxdGN+Zll9yrh4Rzffw8tSK1bc5KWijoaXLqqtd0bQ04IHLbvyQPVSlpt7LXbIaNmCWN95w\/M48z6qBsMbr9eJr\/UsLY4j0dNGTkDA3Pz9SexWpJZLCKP3JOq+OS7v2ERFWagiIgCIiAIi0VlXDQUklVUP4YoxlxQ42krsjtQ3s2qnjip29LW1B4YY8Z8\/XG3X6rXp+wut\/HW1z+muE+73nfg7gfquLTlHNdK+XUNewBzzwwRkbNAx7w+nqVaVZJ4VhRlpJ1Zb2WnBfnvYREVZrCIiAIiIAtVRTQVcJhqYWSxnm14yFtRDjSeTKxPpyttcjqnT1U+PO5pXuy13LYZ27efquyy6iZXvNHWMFLXxnDoXbBx\/q5+im1DX3TlPeG9Mw9DWMH4crds45A\/vkKxSUspGV0pUulS8uHhyJlFAadvctVJJbLg0x11Psc\/nHb4\/Xmp9QkmnZl9OpGpHFEIiLhYEREAREQBERAEREAWEsrIYnyyODWMaXOceoDmVmq5rKscKKG2Qn8etkDQAerI+pwPVSisTsV1am7g5HPpqJ93vFXqCoaQ3iMdO0\/lH+QwPMrZqetlrqqLT9CcyzEe0OAP4bdjv5bn\/ADXdWVVNpawMawBxiaGRMJwZHdZ+pK0aWtMlNTuuVaS+tqxxFzjuGHBAPf1+nYrL54vIx4HZUFq85P8AvPTuJmjpIaCkjpadnDFGMNC3oipN6SSsgiIh0IiIAiIgCqt3dJqC+x2eI4pKYh9S4ZGSOr9PHuU9drgy12yasfgljfdafzOPIeqjNIUUkFsdWz5M9c7pXl3MjfB88581ZHJYjLW+5NUvF937JyKJkMTIo2hrGNDWtHUByCzRFWagiIgCIiAIiIAiIgCIiAq+r6Z9K+lvlNgTUrw1\/wDWbnb9PNWWKRs0TJWHLXtDmnuKhNaEDTcwPW9gH94KVtzXMttKxww5sLAR2HAVjzgjLBYa8kuKT8czpRFWrDWzXPUtzq45HGja1sTB+VxB2I9HH+0opXTZdOooyjHmWVERRLAiIgCIiAIiIAqpbnC86uqrk8YpqAdHGXcs7jO\/9o+il9RXH9mWWedr+CVw4Ij18R7PDc+SrMvS2+w0dhpHA1twPFMGke6HdR8sDyKtgsjDtNRKaT0WfjwR20rH6o1C6tkybdQv4YRthzxj1zz8MBW1clst8NroI6ODJawbuPNxPMldahKV3loX0abhG8tXmwiIol4REQBERAEREBV9VD2+7Wq0n+Tlk6SQZ5jl9OJWdrQ1oa0AADAA6lWWAVX8Ichcf+EpvdB7wP8AvKs6snokZqGcpz7beQREVZpCIiAIiIAiIgCIiAIi5LpcIrXb5aub4WDYDm4nkESuclJRV2QGoibrqC32VvEY2nppsDq\/0B9VaQABgDACr+k6CZsMt3q3E1FeePH9FuSR68\/DCXy\/TCcWuzjpq6Q8LnN3EX2z9Fa1d4VwMdOahF1Z6y4eyN2qrrHbrPLGJcVE7eCNoO+DzPpndQegriWyy23gGHB03GOefdGP3\/05dPWh11v76qWU1ENK8Oklcc9K\/qx3ZGfDxTSkDqXVz4HjDoxI0qzClFxMe9qTrQq2sm7H0FV7WVxko7WyCBz2z1Lw1pYd8Dc46+weama2up7dSuqaqQRxt7eZPYO0qhumqdQaqo5J2Pihle10MZPKMZ3HjwndV043d3ojZtdXDHdx1eRfaKJ0FFDE9znOYwBxccknC3ouY3CkFeKAzsFSW8Qj6yN\/0Kr1NeUUkdKIi4SCwdLGxwa+RrS44AJxlQV61K2nf7BbB7TXvPC0MHEGePae71UFeLO61WoXCurZJblJIODDtmnmd+fIc1ZGF9TJV2nDfAr215f7N+r7nC690tJOzjp6X8SRmfjcRkN7tseqk9MW2odJLe7kCayq+EEY4WbdXVy9AO1QWmbNJe7g65VzSYI3AjskcOrvA619AU5tRWFFGzQlVm609L5f32CIioPSCIiAIiIAiIgCIiArFn97W13cdiGAY7fh3+XzVnVXp80f8INQx+QKynyzPXsP+1ytCnPVdxm2bqyXa\/cIiKBpCIiAIiIAiIgCIvHODWlziAAMknqQGMsscEL5pXhkbAXOceQCqQ6TV1ybUPHRWijfn3x\/Kkc\/l6BZVtXNq2tNsoHFlviIM8+Pjx1D7eGepa66Q3CWHTdj92lhGKiVvLHWM+p7yroxt3+x51arvO2P\/p\/BuqrtW32odbLE3oqZhDZKsbADsHYPme5c9fFT2GnFotf49zrPcklPxgH6eHmVN1s9FpWxEQMA4RiNhPvSOPWe3tPgtOmbL7JB+0KwF9fU5e9z9y0Hq\/VdxJK\/D3OOnKU8Ld5PV8lyRJWi2x2q2xUjNy0Ze7PxO6yqtcqSrk1w9tsnZTVDog\/jI25b9RU\/cNUWm3OcySo6SVvOOIcR9eQ8yqt+3Kmr1R7fbaCWVzoeFsTh3Y4jjqSCldsbTOjaNNPRrTUnINMVNZVx1d+rfbHx\/DEwYZ1c9h6Y32WD2Nb\/AAhQBzWgNpfwwOrY+nWsS7WVdnDKahb34J\/xKNu+mr8Gi4OrDWVDAWuEeQ9o\/q9vM7bea6tc2Qm7RvCDyabb429S3Xa5w2q3y1UhBcxvuMzgud1D1VQ0rUwS3iqutwroonnIaJpWguz49QHZhY2nRlVWTuluQfTwgkBpcDI79+1Yt0bdJSKc0tNE1p\/4kyEucDvyBxty5BdSgk1chUntFScamDJaIttXqK00lOZnV0MgzgNieHuJ8AoMVt51U9zaE+wW\/k6QnL3Dr5fQY8V1UWhrZDDiqdJUyHm7iLQPABey6Ko2v6Sgq6mjl6ix+QPv2dfUoJwWhomtpnbEsuSefmSVpsVDZ48U0eZD8Ur93H9PJQWvIHytoQyYlz3ljIAPiJ\/NnPgPNb+g1bbATHPBcY278L\/i+x+Z5KJZfIq7VVPPeI20raQFvBuQJAeZ27fTC7FPFivcrrVIbrdYcN7a6eZdbdRst9vgpIwAImAbdZ6z5nJXSsIpY5o2yRSNkY4Za5pyD5rNUM9OKSSS0CIiHQiIgNcs0UIaZZGsDjgFxxk8\/sswQRkHIKoWtq91XchSwuJZRM4nkHYOJH0yFdba4utlK5xJJhYST1+6FOULRTM1OuqlSUFwOlERQNIREQFW1c11FWW68xjeCXgfudxzH+L1VnY9skbZGODmuALSOsLnuNBFcqCWkm+GQYyObT1H1UJpW4PiMlirSG1VISGZPxt7vD6KzrR7jKvt1nfSXv8AssqIirNQREQBERAERcF1vNFZ4ekqpPeIyyNu7neA+66k3kiMpKKvJ2R2veyNhfI4Ma0ZLnHACqdTW1WrKx9Bb3GK2xn8afG7+4fp6pHQ3XVbxUXBzqK3Zyynb8Tx2\/5nyCnXz2vT1CyNz46aJo91v5neXMlWJYe1mSUnWV30Ye\/wiPvVVBpuyMpKBpjlmzHCGjLs43d3nl6hZWxtt0ra2w1dXHHM8CSUF2XFxHUBuQFXpv2jq2+mqtwMUNPwtjkkOOj68+OcnbuU\/Q6OoIR0lc59dO7m6QnHkM\/VSaSVpMphKdSo5U45LJN6EBcbnVX6\/wAU9BRPq4KUgRtLTwk5zxO7MkDn1BS37Dvt6b\/vi4ezxE59nhAO3YcbeuVY6Oip6CmbT0sYjjbuAO1b1F1P+KLobJe7qSvfXgiMt+nrXbPep6VpkxgyP953z5eSi7Z+Nry5zcxHCGeB90fYqzqsaTHS3K81Z\/nKjAGc4GXH7j0XE202yVSEYzpwirK9\/JFnREVZrCIiAIiIDivFwZbLXPVuOCxuGDtcdgPVQ+nLDSy6faa+ETuqz0ruMHIzyweY23z3rXqRzrre6Gxxg8HEJZyOz\/TPqFaGtDWhrQAAMADqVnVj3mRJVazb0jl48Sqy6cuNme+psNY8t3LqaTfi8Oo+fqu60aoguFQKKqhfR1g2Mb+RPdnr7lOqLvdjp71TBrz0c7N45gN2\/qExKWUg6MqWdHy4eHIlEVYtF4rLfXCzXw\/in+RqCch46t+vx59RVnUZRcWXUqqqK6C566rZQUM1XICWxMLiB19y6FWdWyzVc1FZKY+\/VPDpP\/SO0c8bE\/2UiruwrT3cHJa8O8hX07ho6suVQPx6+drskb44vpzV3trS22UrTsRCwH+6FX9ZMEVloqCH3Q6ZjGjuAIH2Vna1rGBjRhrRgDsCnN3imZtnp4KjjyS\/LMkRFUbgiIgCgtRWSauMVfbyGV9McsOccY7MqdRdTad0QqU41I4ZFftOqYamU0VyYKOtYcOD\/dYT2Ak8+5WBR92slFeYeCpj\/EaCGSt2cz9fAqEazU9gHRxBt0pW5wTkvA7MZz5DKnaMtMjPjqUspq65r8otaKsfx2hYAJrZVskwCWgA4zvz2T+OMs+1DZaud3LcYwfIFc3cuRL6ujz9yzrTU1VPRxGWpmZEwfme7CrjqvVtxIZBRRUDD+eQjI9cn5LZTaPZJIyou9bNXTAbtc48Phvv9F3Clqzm+nLKnF97yXya5dUVl0mNLYKN0h5GolGGt78dXn6Lot+maekkNwu04q6nHE58p9xh7s\/f0XVdLpRadoA2OJnGdoqePDc9+OxRbbJdNQObUXqodT0+cspI9iB3\/wCeT4KS0yyRTJdO0unLlwX98zZV6nqa6pNFp6n9okHxTuHut7xn6lQlfZJ6i6w0EtY6quc\/vTSOzwRN3O3792yurIaGx215jjbDBCwudjmcfUqH0hTuqBVXufeareQ3bk0H9f8A6rsZJJtEalF1JRhUd2\/JLs9rk3bbfDa6CKkgHusG5PNx6yV1IiobueikoqyCIiHTCaQQwvlIyGNLseCr2hYy2xPkJyZZ3Oz18gPspW+y9BYq2Qc+gcB4kY+65tKQ9DpukHMuDnHzcSprqMzSz2iK5J\/gmERFA0hERAFhLKyGJ8sjg1jGlznHqA5lZqu6yrHx22O3wAunrXhjWjmRn7nA81KKu7FdWpu4OXI1aSjkraquvkxy6peWRgjcNH7geSs65rdRst9vgpIwAImAbdZ6z5nJXSknd3I0YYKaT1494REUS4jb5Zob1QmGT3ZGZMUn9E\/ouHTF3lqGSWyu92tpPdIPN7RtnvP+RVgVY1VSSUU0N\/ohieAhso6nN5An6efcrIu6wsy1k6b30fHtX6LM5wa0ucQABkk9Sq+nf973+vvZz0YPQwg55YH2xt3ro1Fdo36SdVQO2rGtYzft5j0BCkrJQi3WempuHhcGAv2\/Mdz80XRi2ck97Wilos\/gh9W\/i3Gy0w36SpyR5tH3VnVYun42vLVCTgNiLx4++f8ACrOuS0SJUc6lSXbbyQREUDSEREAREQBERAEREAREQFLdKyz6snq7zDLIyR\/+z1JaSyMbnYb8th2hW2lrKatj6Slnjmb2sdnCznp4amJ0U8bZGOGC1wyq9cNJUMTJKuiqpbc9gLy9jiWgDc9eRy6irLxlqY1CpRvgs1ryfnxGsK2V8dPZqTeorXDiHY3P3PyBUy19HaKKGCWeKGONga3icG5xzKpNpqLyyodfvYn3EEGPjLveAHcO7uK319TZ9S1DTPWS22oZ7pbO3iZnPPngfJWOGi4GaO0Zup\/k9E8su\/Qs7tS2Vr+A3GHPdkj15LoprtbqwhtPWwyOPJoeMnyVVZ\/B+yRoey7hzTyLYMg\/9Sy\/8PP\/ADX\/AOP\/APpRw0+Zaqu18aa8\/wBl0RUC62672KSHjvFYaFxwZo3O\/DPe3i+6lYdM1VVCydupqqZjxlr2l2CP7y44JK9yyO0zlJxUM12o7NZzGLTczR\/OPY3n35+ylLbCKe10sI\/JCxvLHIBUq9WB9PXUFCbjPVSVcmHdIdmjIGcZ7z6KYGk62P8AkNQ1cfV1nb+8F1qOFK5VCpVdaUsGllqu8s6Kr\/szVdIeKnusVSMY4ZRufUfdeN1NcbXIyO\/W8xsceETQ7gn1wo4L6O5o+pUevFr28y0ZGcZ3Xq+di79BrI1kc\/SwOn4S\/m3gd1Dsxkr6IuThhsdoV1WvbgwqrRcV61nPVkh1NbhwR45F3L68R8gpq+XBtstFRUcbWyBhEYJ5uOwVR05DfKiiMFC1tJA9\/HJVuHvOORyzz5dW3PPNSgui2U7RUW8jC1+Nl6F+RV+wXGrbXVVouUvSVFOcskLSOkb4+nzUvX3ClttMairlEbByzzcewDrKg4tOxphVjKGPT8G2aaKnidNNI2ONoy5zjgBQMms6IzmKjpamrDT7742bAdvb8guINq9ZVTHSRyUtqhOQ0neU\/v6KZudNT23TdbHSQxwsEDhhoG+2N+1TUUsnqZ3VqVE5QyiuPP8ARIUlSyrpIqiP4ZGhwWU8MdTBJBK3ijkaWuHaCozSsXRabpGlhYS0kgjB3cV5qW7C12xwjcfapwWQNHPPWfLPrhQw9KyLt4lRxz5FUslKam\/x2marD6ahlkkjAJHGQRyx4Z9V9DVEqbPLpilt10jAfNDIfaSM4IdyG\/IYyPEq8QysnhZNGeJkjQ5p7QdwrKrvZoz7EsClCSs\/xw8tCt\/y\/wDCJtv0FNvjq26\/7wVnVX09ip1Veqvb8NwiHhkj\/ArQoT1SLtmzjKXNv4CIigaQiIgCIiAIiIAiIgCIiAKtarrZal0VhogXVFUQX4I2Zz+2fAd6sFTUR0lNLUzO4Y4mlzj3BV3StJLV1NTf6sfi1RIiaQfdb5+AA7grIZdJmWu3JqkuOvdx+CfoKKK30MNJD8ETeHPaes+ZyVrrbVQXAYq6SOU\/0iMO7OY3XYihd3uaMEcOG2RV3aRqKGXprJc5ad2SejkOWn08uYKxN\/vdo4W3i2dLHvmeD7427exWpFPHfrK5n+mUf424+3kQ9NfrLeacwmePEjSHQz+6fDfY+Si9PyPst9qbFM49E89JTEnz+Y+YKlrhpm1XL3paYRyYx0kXun9D5hVm86crbNDHcKevdPHSFpYHg8Ue\/V1Yz4KccLyvqZ62+g1UavbiuXHIlK4iX+EK3M2cI6ckjHI4ef0VoXz6y6jjjvVRdLox5MzOja+NpLWdeNztyV2orrQXEZpKqOU9bQcOHkd1GpFqxZstWE8TTzbuda1zQx1EL4ZmB8bxhzXDYhbEVRu1Pl2orYLbeJ6amjIgIEjGjJwMeuxyrRBrajFsicY5pqsNDTEG\/E\/Hby3Pn3KYudjobu5jqqMlzMYIcRkZzj6jzK6YKOkoomiKGOJsTOEO4QCAO9XOpGSV0edT2WpTqScGkmUOpprnetQ0kNx918vvmAEjoY87+GQPHl3L6G1oa0NaAABgAdSq+mM3S9XG9PwWl3RQnB2H+gb6q0rlR5pcizY4JRc9bv0IS92KWuqoLhQTiCtgGGudyI6s7H9yuam0vNU1grL9We2vZ8MTRhg+nX1YH2VkRRU5JWLns9OUsTXx5HjWhrQ1oAAGAB1Kv63e5mnXNbyfK0O8Of1AVhXFdrcy6W6SlcQC7dpI2DhyyuRdpJslWg50pRXFDp6S1WpkkrmQwRRju6uQHaoGzU82obwb7WRltLGcUsTjyIxv8j5+C2Raarq2SFt5rGzU1MAI4Yhwh2B17bffuVljjZFG2ONoaxgDWtA2AHIKTaistSmMJVWnJWiuHNmi4UbLhb56R+wlYW57D1HyKidHVj57OaabIlpHmJwOMgdX6eSn1V6TFs13U0+OGOvj6Ro\/rc8+od6pHOLRKr0KkJ+D8dPU90cMyXR5OXOqdz6\/qrOqxoz\/AJn\/AO5P3VnXKnWY2T+FePuERQt01RQ29\/QRA1lUTgQwnO\/YT1fMqKTehdOpGCvJ2JpFUza77qJwfc5vYKQ8qePmR3j9fRWWGkjggjhYZOGNoa3Mh5AY7V1xS4kKdSU88Nl2\/BvREUS4IiIAiIgCIvDnG3NAVXUEr77d4bBSlwZE7pKp46ht9M+pHYrRFEyGJkUbQ1jGhrWjqA5BRVhsZtLqqWacVFRUScTpcYyPDtyST5KYU5NaLQz0YSznPV+i4IIiKBoCIiALTVU7KukmppPglYWHHYRhbkQ41dWZU9DMa63VtJMxjw2f3muGc7Y3Hku2s0dbKh\/S04ko5cgh0LtvT9MLrtFjitFRWSxzOf7U8OII+HBJA\/6lKKyU3ibizLS2dbpQqLQq\/s+qrScw1EdzhB+GTZ+B47\/M\/rlT60p2PEN0o56KXAzxNJHpz+Ssy1VFNT1cZjqIY5mH8r2gj5piT1R3czj\/ABy8Hn+zCkr6SuZx0tRHM0c+B2ceKitW3M2+0mGEn2irPRRgc8fmPpt4kLTVaLoJJOmopZqKUEkGN2QPLn6FR1Rpy\/09whro6mO5SQY6PpnEHblsT912Khe9yurOvgcXHxWfpqWWyW\/9l2iClIAe1uZMf0juV3qrjVtVRDF3s1RAB\/ORjLT67dnX1qRptU2aqA4a1kZJxiXLMeuyjKEtS2nXopKKdrc8iXRaYaumqMdBURS5GRwPBz6LcoGhNPQIiIdCIiAKv6lo5hUUN1pWF0tJJ7zW83NPV9v7Slqq5UNE0uqauKLHU54yfAcyoGXUtddJHU+n6J0gBw6plGGt+3r6KyCd7oy7ROnhwN59mpjpmeG2W2prq+T2VlVNxsEowXDGQR\/S2PV3rZJq6SreYrLbZ6twOC9zcNHp98LOi0o18\/tl6qDX1J6iTwN7u\/5DuU\/DDFTxiOCJkTByaxoAHkF2Uo3vqV0qdbAo3wr1+EVkWS\/XgcV3uJpo856CADl2Ejb6qZtdjoLQzFLD75GHSvOXO8+ryUiii5t5F8KEIPFq+bzYREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPCARgjIKj6mwWmrJM1vhJPMtbwk+YwiLqbWhGUIyykrkdPoezy56MTw55cEmceuVq\/inW029BfqqLHJjskH0P2RFLeS5lD2Wjqo27svYfsjVUf8nfI3dfvt6\/Qp7JrNn\/MaOTP9Ubf9ARExvkh9NHhJ+bBi1lM0s6ekhJ\/MAP0P0Xn8VrnVu4rjfZ3gjdkWQPrj5Iibx8B9NB9Zt97Oim0VZqfBfHJUOBzmR\/2GFOQwQ00QigiZFG3k1gwAiLjk3qy2FKFPqqxsREUSwIiIAiIgP\/\/Z",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "EDISON",
    "correoContacto": "edinsonromero30@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONEXION DE ESCANER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:12",
    "ubicacionGPS": "LatLng(lat: -23.6864085, lng: -70.4180862)",
    "horaLlegada": "09:53",
    "horaDespacho": "18:32",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 10:12:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 10:12:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[11/08/2026 10:12:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61964800', 'KY2137', 1, 19969062, 65260, NOW(), 
				'18:32', '09:53', '10:12', 15, 'Conexion escaner
Firmado por Sebastian Campos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786457572.png', 'Conexion escaner
Firmado por Sebastian Campos', null, 'COMPLETADO','LatLng(lat: -23.6864085, lng: -70.4180862)' )
				
[11/08/2026 10:12:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201429

11/08/2026 10:12:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201429'                    
				WHERE idllamado = 13723			
				TO ENVIO: micorreo@miempresa.cl, edinsonromero30@gmail.com, donkhapone@outlook.com


11/08/2026 10:12:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13723			
				
11/08/2026 10:12:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 10:12:52 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-6LBFbsyF+kT2SzUaqAszCmcHVm8qO-AbQ_CRtyP3XChdN6dCYhr
11/08/2026 10:12:52 Detectado modo MULTIPART/FORM-DATA
11/08/2026 10:12:52 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786457572.png
11/08/2026 10:12:52 Envío correo: Fallo
------------------

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:54 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:12: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/08/2026 10:12:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[11/08/2026 10:12: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/08/2026 10:12: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/08/2026 10:12:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:12: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/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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/08/2026 10:12:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:57 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:12: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;
                

11/08/2026 10:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13723
            GROUP BY l.idllamado;
            

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                

11/08/2026 10:14:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13723
                and cs.estado_control = 1;
                
[11/08/2026 10:14: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;
				

11/08/2026 10:14:35 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:14: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;
                

11/08/2026 10:14:35 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 10:14:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:14: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/08/2026 10:14:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[11/08/2026 10:14:37] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 10:14:37 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:14:37] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 10:14:37 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 10:14:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:14: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/08/2026 10:14:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:34 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:18:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 10:18:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 10:18:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 10:18:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

[11/08/2026 10:18: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/08/2026 10:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

[11/08/2026 10:18: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/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

[11/08/2026 10:18: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/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:18: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/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

[11/08/2026 10:18: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/08/2026 10:18:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13742
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONEXION DE ESCANER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2318
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:19:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:46 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 10:23: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/08/2026 10:23:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [RutCliente] => 16524375
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

)
[11/08/2026 10:23: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/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:23:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:11 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:24: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/08/2026 10:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:24:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 10:24:30
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TmfdyDu.YKcuquEfjwzENjTEtXqw_7nLkyz.88tRYxmIwKU9v1L
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2318",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "147418",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion escaner\nFirmado por Sebastian Campos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13742",
    "observacion": "Conexion escaner\nFirmado por Sebastian Campos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADQASEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABJEAABAwMCAgcFBAcDCgcAAAABAAIDBAURBiESMRNBUWFxgZEUIkKhsRUjwdEyM1KSsuHwJHKCFiU2Q1ViosLS0wc0RVNjZHT\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEBAUDAwQDAAAAAAAAAQIDERIhMUEEIlFhEzKBodFxkcFSsfAjJELhM2KC\/9oADAMBAAIRAxEAPwD9mREQBERAF5c5rGlz3BrRzJOAFGuNypbVSmpq5OFgOABuXHsAWcZFdNWytlnLqO1B2WsGzpMfXx5DvU4xvm9CipWUXhiry6fJLrdYUzZvZrZA+4TnYcGeH+f9brmKfV1e4yPqaegYRtG3c8u7P1V7QWyjtsXR0dOyIdZA3d4nmVKXcSXlRBUZzzqS9Fkvky763UtmjMldFDX07CA58Q98Dt2A+iv6CvguVHHV0zsxvHI82nrB71IIBGCMgrK0PHpzUr6B+BQ17uKA52a7OwA8Tj0KZSXc5zUZK7vF5Z7GrREVZrCIiAIiIAiIgCIiAIiIAiKLcrhDa6CWrnPusGwHNx6gESuck1FXZKRYCnqrtV6kt880rmGsPG2EH9GHizyxy2JHhlb9TlDCU0K6rJtK1giIoF4REQBERAEREAREQBERAEREAXOaaOnhfNM8MjYMuc47ALoqzUbJJNPVjYs8YjztzwCCfkF1K7sQnJxi5LYo7fSyasuX2tXM4aGE8EEB+PHb+PbjHUtcAAMAYAVTpiqgqLDSthe1xijDHtHNrh2hW6lN52KuHglDFq3m2ERFA0BZzW1OHWhlY1xbNSytcxw57kD8j5LRqo1WAdNVmRn3W\/xBTg7SRRxCvRkuxYUUxqaGnnOMyxNecd4yu6gWIuNiouLn0Dc+inqL1LIO8UwiIuEwiIgCIiAIiIAiIgCyUzhqbUjon4NttpJeTye7ryfEHyB7VY6ruhoLX0EJ\/tNUejjA5gHmfw8SFAroBprRZhZhtTPhj3jmXO3O\/cMgeCtgrZ7sw8RNSbi9I5v8IabAul\/rryGkQM+5gHIAYHV4Abd61ar7HQi3WampuEB4Zl+Bj3juVYKM3dl\/DwcKavq839WERFAvCIiAIiIAiIgCIiAIiIAiIgC+EAjBGQV9RAZur01UUdRJW2CpFJK8YdEccB8AQVy+3r\/bji52czMBx0sH12yPotSinj6q5mfD2d6cnH9vsUNJrKzVIAfM+ncfhlYfqMhXcU0U8YkhkZIw8nMcCD5qNV2q317SKqkikz8Rbh3qN1SSaSmophPY7jJSv645Dlp\/rvBXbQfY5irw1Sku2TNOs5rapayzNpQ49JUyta1oGcgHJ+ePUL1btSFlRLQXpopaqIE8XwvAGSR6EqLa436jvrrxO3FJSu4KVpBHEQch34+OOxdjHC7vYhVqqrDBDWWX063NJRQezUNPT\/8AtRNZz7Bhd0RVGxKysEREOhERAEREAREQBfHODWlziAAMknqX1Z\/WFdJT2ttHBnpq13RNA546\/XIHmuxV3Yrq1FTg5PYiWQPv2op7zKHGlpyWUrXcs8s+m57yOxer7m5apttsaC5kB6aXAOO3c+A+auaSCCw2RrZHAMp4uKRwGOI43PmqjSUU1ZNWX2pGH1Ty2MdjR2d2wH+FW31l0MeB2jSesnd\/z2NOiIqT0AiIgCIiAIiIAiIgCIiAIiIAvjnBrS5xAAGST1L6s3qirkqZYLDSEGWsIEh58Deedj3Z8ApRV3Yrq1FTjiPNFcK2\/agMlLMYbdQuIPCT9+TkefLyWmUa30MNtoYqSBoDY2gE4xxHrJ7ypKSabyI0YSjHmd29QiIolwRFmNQXaerqm2O0v4p5DieRp\/VjrGfr2KUY4nYqq1FTjdlRqy6Ut1udPSUuHGJxY6YHZ2cDA7gtvRUcNBRxUsDeGOMYA+p9Vkau1UtLfLNZ6ZoIY4zSuP6T+vJ8mnZbVTqNYUkZuFjJ1Jznrp7aBERVG4IiIAiIgCIiAIiIAsrTFt81rLUB5dT25vCzsLtx9c+OArfUNyFrs01QHASEcEfe4\/yyfJR9PUUNj0+2Sd7WF7emmeTsMjl5DA8VZHKLZlq89SMNlm\/wRtW1T5hTWWmd9\/WPHFg8mZ\/E\/Qq\/pqeOkpoqaFvDHE0NaO4LNaZZLdrvWX+cFrXExQNPUP5DA8SVqknlyihzt1Xvp9F8hERVmoIiIAiIgCIiAIiIAiIgCIiA8ve2NjnvOGtBJPYFmdKsdcq6svtQCXSP6KEH4W8zjPkPVTNXVppbFJGzeWpIhY0Zyc8+Xd9VYWii+zrTTUmMGNg4v7x3PzJViyjfqZZc9dLaOfq9CYiIqzUEREAUG32iitj5n0sPA6Z3E4k5PgO5TlRatuZt9pMMJPtFWeijA54+I+m3iQpRTbsiqq4Qj4kloQ7AXXbUdfeC37qP7mE52\/rAB\/xLUqvsluFrtMFKQA8NzJg59481NllZDE+WRwaxjS5zj1Acyuzd3kRoQcKfNq836n3ibx8HEOLGcZ3wvSwmmLnU1+rJZpJCRM154T1DqA7gt2k44XYUKyrRxLqERZXXVfLTUtNTRvLBO4l5adwGkEfMrkY4nYlWqqlBzexqkVZp2WWew0ss7nOkc05c45J3Pd\/XerNcas7E4SxRUuoRZyuvVXJqmntVve3gaP7QeHOOs+gHqVo11xa1IwqRm2ltkERQ7rcI7XbZquT4B7o\/aceQ9VxK+ROUlFNsoK\/iv2r4aFpPstv+8lxtl39YHqumpqqW41kOn6GTEsh4qhwzhjcZAP19O1cbTM2waZlu1Vg1NY7pAHfGTnhHLxPmpulrTJTU7rlWkvrascRc47hhwQD39fp2K52WfQ82KdTl3lm+y2Rd01PHSU0VNC3hjiaGtHcF1RFQeklZWQREQ6EREAREQBERAEREAREQBERAZa7EXPWdvoM8UdKOlkG2M88EeTfValZmzEyayu73YLmtDQcb422+Q9FplOeyM3D54p9W\/bIIiKBpCIvhIAyTgBAeZZY4IXzSvDI2Auc48gFl7U2TUN\/ku87MUlL7lKNwHHOQfHt8R2LxXVU+rK51soXFlvhcDPOOT8HkPw9epammpoqOmjp4GBkcbeFrQrPIu5kv488vKvd\/COqz2rqx7aKO2U44qiudwAAZw3O5+g9exX0srIYnyyODWMaXOceoDmVmLLG++agnvso\/s8JMVM1w7OR+ZPiVyC\/yexLiJNpU46y\/bc426jZb9aQ0kYAbFR427cZPzytgsxUAxf8AiJS4P66mOfR3\/StOu1M7Psc4ZKKkls2Fh7xSyag1kaNvGYKdoa9zTgMGMk+pwrjUd7lpnx2y2+\/X1Bx7u5jHb4\/huq3StK+2akrqGeTjl6EOLt\/eOQds8+alBOKciniJxqzjS2vn8GviiZDEyKNoaxjQ1rR1Acgo12uDLXbJqx+CWN91p+Jx5D1UiaaOnhfNM8MjYMuc47ALKsdNrC6MeYiy00r8+8N5Xf16DvUIxvm9DRWqYFhj5np8\/RHzQ7DPNX11QS6pc4NJdzAO59dvRX13vVLaadzpJA6Yj7uEbuc7qG3Id6rqnSjjVyTW65TW5kp4nxw5wT+8O9d7Zpaht8vtEpdV1J3Ms2+DnmB28t1KTi3iuUUo1oQ8NL1KrSFVW115r56uSUuDQCwk8LCTyxyB2x5Fd9TvfcbpQ2WNwEZPTVBzyaO3s2B+S9aMcPYK+tlOC+odx7cgAD49ZWbgdWaivdX7KzgdVn3pHH9XFnkfINHy5FWWvNvoZnNx4eMNXJ\/ku4WDVV+zw\/5qt\/uBmTiQ74I8foB2rYKLbqCG2UMVJAPdjG5xu49ZKlKmUrvLQ9GjTcFeWr1\/nYIiKBeEREAREQBERAEREAREQBERAEREBmLRmPW92iPxMDt+fw\/mtOsrqGOWz3unv8Ic6I4jqGjJyOX0+YC0dHWU9fTNqaWQSRv5EfQ9isnmkzLw7UXKm9U2\/RndF4kljhYXyyNY0c3OOAqGu1lb4HdFRtfXTk4DIgQM+ON\/LKiot6F06sKavJ2L6WWOGJ0srwxjBlznHAAWWq7nW6mqH260Asoh7s9SRjiHWB+XX4IbXetRytfdn+xUQwRTMO7vH+fotNS0lPRQNgpomxRt5NaFLKHdlDx18tI+7+EcbXbae00LKWnbho3c483u6yVMRFBu5qjFRVloZrUVTNc6llhoJAJJDmd\/FgNb1jnvtjI35hX9JSxUVLHTQN4Y4m8LQunAzj6ThHHjHFjfHYvS65ZWK4U7Tc3m3+xRaot9RUU8NbREiqpHh7cOwOHr\/P1USS+Xy5NNNb7U+nefddPKfdaevG2PqtJNPDTtDppWRNJDQXuABJ6t16jkZLG2SN7XscMtc05BHcV1Sss0Vyo3m3GVr6lRYtOxWniqJpDUVkg9+Z3V3DP161HvltrY7pBeLVC2SoYC2Vhx7zcHv8u3ktCiY3e5J0IYMCyMqLNeb9MH3uYU9K0hwpoiN\/y88+S01PTxUsDIIIxHGwYa1vILoi45NkqdGMM9W93qERFEtMFqG2VdiicyhrC2krJCPZ2Ag5IOR3jGBz3zyWts1qgtFBHBEwCQtBlf1vd1qmnP2xriKEBxgtreN3Zx8\/rw\/urUq2cnZJmHh6UfElOOmi\/IREVRuCIiAIiICLdKj2S11VQHcJjic5p7Djb5qs0dJPNYWy1ErpHPlcQXdQ5Y9c+q86zrPZbBJGCA+ocIx4cz8h8130m0N0zRgdjj6uKstanfuZMV+Kw9F+S4REVZrCIiAIiIAiIgCIiA8ua17S17Q5p5gjIKz1To6mMjpLfVzUDnZJ6MkjPqP6K0aKSk1oV1KUKnmRmmaLp5JOkr6+qrHZz7zsZ8eZ7etXdDbKK2s4KOmZEOsgZJ8SdypSI5SerIwoU4O8UERFEuCIiAKsvV6gs9Pk4fUSDEMI5vPl1KRc7jDaqCSrn\/AEWbBo5uPUAqTT1tmrqp1\/ubQZpsGnZ1MbjY+nL161OKVrvQz1akrqnDV+y6\/B5otNz3SQ1+oXule8e5TBxaIxvzx48vVNOumtl8rbHK4viaOlhc4k4bsAPQj0VvWX+1UOenrog4fC08TvQLJVOoGT6thr7bTS1RbF0bYyOEuO+457b5VixSTvoZKjo0XFxed892763N8iyxk1jXj3IqagaRzOM\/830Xr\/JOtrMfal7qJmn9KOPYeWTj5KGBLVmrx5S8kH65F9JcqCEkS1tPGRzDpWjHzUd2oLOzOblT7dkgP0UKPRllY1ofBJLjrfK7f0wu7NK2OPGLew4\/ac4\/UrnJ3F+Iey+7+DpHqKzSEBtxgGf2ncP1Xee60cVFLVNqIpWxsL8MeDnHgo0mmLJK3hdb4wP90lv0KzGo7DbqSqo6O3wyNqKqT9ouDW8uvvPb1FSjGEnYrqVK9OLk0n9y60dRvZQTXGdpE9dIXkn9nJx6kk+i0SyzNPX21gC1XcPibuIZxt4DmPpzQ6hvNrcBeLUXRA4M1PuMdvMj6fJJRxO6ZylVVGCjOLVt9V7GpRV9tvtuuu1LUAyDnG73Xeh5+SsFW01qbIyjJXi7oIiLhIIiIDFayMlfdWUMbsMpqV8799sgE\/gPXxV7pNwdpmjI7HD0cVR29ouU2oroT7j4nwxntbj8g1XGjnF2maYH4S8D94q+eULdDzeHzruf6k\/ZpIvERFQekEREAREQBERAEREAREQBERAEReJZY4Y3SSyNjY0Zc5xwB5oD2vEsscMbpJZGxsaMuc44A81kLxqea5VEdusLpDJIcGQe7xde2eXLmqW6WKto2U8VRUunramTLIGEu26ySevOPmro0ursYKnG2v4cbpb7Eq+Xg3i\/Rx00BrKaA4jibnEjsbk46s\/Id6uRZr9eS190rRRQDBFPT8x\/XiV50ncaSlBs81KaOsafe4\/9afz7vRatdnLDkkQoUVVTnOV76rT065FPR6Vs1GQW0glePilPH8jt8lXagjZR6isc0TRG0ydH7oAAGQPo5alZjV3\/AJ6zf\/p\/FqjBtyzLuIpwhS5VbT90adERVGwIiIAsrav886vrLi4Ew0Y6KHI2zuP+o+at9Q15ttkqJ2OLZC3gjIHJx2z5c\/Jc9L0HsFhp2OGHyjpX5GN3fywrFlFsy1OetGGyzf4LdfCARgjIK+oqzUUtw0pa66QzNjNNNzEkB4d+3HJVjn37S7Q6R\/2lb2443H9OMZ8c9naPBa1FNTejzM8uHi3ihyvqv5mQbZeKK7wCSllBOMujcQHt8Qpyzt00yGzm42d5pathLyxpIbL1457Z9CpGnr+y7RGCcdFWwjEsZ2zjmQPw6kcVa8TkKslLBU126MulXX6tFvslVUZw7g4Wb\/Edh9c+SsVldQuF4v8ARWRuXRsd0tRwnkMcvT+JIK7JcRNxpu2ryX1ZJtNCaDRcjHNIfLTySvBGNy04+WF00Z\/o1B\/ef\/EVZXJobaKprQABTvAA6vdKrdGf6NQf3n\/xFSbvFvuVRgoVoxW0X+C9REVRsCIiAIiIAiIgCIiAIiIAvL3sjYXyODGtGS5xwAvSzGqLFdLtUMfTTxugY0DoHPLd+3sP8lKKTdmyqrOUI3irskXDVtFTvEFC11fUu2ayHcZ8Rz8sqGyxXW\/SiovlQYIActpIz1d\/Z8z4LhQ2fUtAzho2UFNtguDQXO8TgkqX7Bq+UZfdqaPua0bf8Ktsl5WjDedT\/li32Ssv3zOGoaWnsVVa7hS0wjggl4ZBGN8fjkZ5rtpumkulyn1FVfGXMp2EfotG2fTI9VTV1vuVVfIbJNdpasvw+Xc8MfWds9Q38wuFdpyotNRmuZUVVvb\/AK2nIBG3Mg5x5+qnZWtfMoc5Ko5qHKnp0fpc11\/tVFdqcONRHBUx\/qpuIDB7D3fRR9P6jinpH09zqY4aqmPA90jwA\/qznkVV2+06RrjiKsl4jn7uWTgP0GV41DpqktcVPX0kBlpo3AVEZeTxDtz1dnmFFKPlZdKdRPxoJd7O9\/bY1El\/tEQJdcqY4GfdkDvoszqW+22tq7a+mqelFPPxyYY4YGW9o35K6orDp2alirIKON0TxxNL3uPrkqh1W+zwCmhtsVN7RHLxPELRnHYSBvv1LkFHFlc7xM6vhNycbepbP11beLhhp6qU9zAPxUSbXwY8sZa5OPOMPkwfTC6On1DeYugo6IWqmds578tcR3bDq7B5qxodMUVvp5CxvTVb2OHtEgy7JHMA7BLQWqOqXE1HySy62t9rmXobneq+6\/azaSerDCWNZGSI27cj4ZBV59sapfuyxxgf7zv5he9FzxssxpZCI5opXccbtnDr3BUm46stdBG7hmFRKOUcW+f8XJJO8rKJGlFRpKcqjV89jMXytvlwqIrfX0lPG+L7\/gY8BuADu48RAGM9nPvU636k1JcjK2hoKKXocB+NgM5xzfvyPJQ7fa5tXXWe5VL+ipuk4XBv6RwNmjq5Yye9W89ir7NXe3WENfG5rWy0riBkDHLt5c+e555U24+Xcppxqtuom8Lfq1tsevbtZ\/7Jo\/3x\/wBxPbtZ\/wCyaP8AfH\/cQamu8jBHHp+cVGwIfxcO458uXLrXk2\/U93H9trI7fC7nHBzx1jY\/UqGmqRfe\/klJ\/wA7o8xXrVLw5wtdJM1pw7opAcHAONnnqIXs6lvcP67Tk7ttywux\/CV8h0tcbe6SO13QwQS44g\/3nciM7AY59XzXs6UrpsGp1DVydwyANv7ycnb3CXE2yvf\/AMnz\/LMMz7RaKuLHPb88KhvF8o5q6O5W+Kpo69h3LmN4Xjv38uW6uIBV6a1BTUktZJUUVaOFplP6Lth+Xr3LWpeMHdI6oVa8XGUrNdvgy0OvLe6mBmgmZNjdoALc9xzy8lXaYvFtp6irr7lVhtbUvPNjiA3nsQOs9XcFF1bTUlPe3NpeL32h9VGz4TnOe7OR\/RWxpqCzXChhmioaaSF7BwExDIHZ29S68MY6aldN1qlWzkrxOFdf7TPbaqOO4QFzoXgDixkkFQNKXa3UlghhqK2GKRrnZa94BHvFTLhpy0R26qkZQxte2FxBBIxgZHX2qu0vYbXX2KGoqqRskrnOBcXEZwT2FR5MBa\/H8daXs+vVF6dQWcDP2lT7f\/IFxfqqxx5zcGHH7LXH6BfRpeyD\/wBPj553c7812ZYLQzGLbTHH7UYP1UOTuaP7n\/r7kJ2s7GM4qXux2RO3+S5O1xZmjIM7u4R\/zVw22W9uOGhphjliJu3yXRtLTMOW08TT3MAS8Ogw8R+pfb\/ZnjrijkcWUlDVzu6gGgZPkSg1Lep96fTswB5F5P5BaYNDRhoAHYF9TFHoPCrPWp9kv9mY+1NWP\/V2WBueXE7l\/wAQXuKu1eZmCW00nR5HFh4Bx++fotIiY10Q8CX637fAREUDSEREAREQBR6+tit9DNVzfoRN4sdp6h5nAUhZXUcjrzd6awU78MB6SocCNu7yG+O8KUVdlNao6cLrXb6nXR9FK+OovNXvUVrjwnsbn8T8gFpCARgjIK8xRMhiZFG0NYxoa1o6gOQXtJSxO52lTVOCiVNbpiz1zuKSjax+c8UXuZ9Niq12hqYMMcVxq2RnmwkEH5BahF1TktyMuGoyd3EwFp07TVF3rLVcJ5g+l3iaxwAc3t3HeD5qVfbNQWqrtDaSAN6SpAe4nJdgt5qZqUfZV6oL5HHloJinwOYxt54J9Avup3Nnu9hjYctfPxZHZlm\/1Vyk20zz3ShCE42zTX2bVvg1CIizHrlNXaUtVfMZXxGJxOXdFhvEc5OdutVt9pLfp2zcFBSNFVUHoo5COJ4zzIPPltt2rVrK\/eXzWv8A9W1eYL\/zz\/D2q2Db1eSMVenCK5VzSyLyy28Wy009JgcTG5eR1uO5U5EVbd3c1xioxUVsERFwkEREBnta0ntFjMzWEyU7w8FoyQOR8O3yXup1TSUtphmbLHU1crG8MMTgTxkdeOQyrySNksbo5GNexww5rhkEd4UClsNro6k1MFHG2TbBxnh8M8lYpK1mZZ0qmNypu19fkr9P2Ew009Tc29NVVgIk49yGH4T39vl2KNZ+ksWpJbM97jSVDTJTcW+Dzx8iPIdq1SzesqR\/scN0gPDPQvDgR2Ej6HHzXYyxOz3IVKSpQUoax91uXF4kEVmrXnqp3\/wlQNHsLNM0pPxF5\/4il+q2VGkJ6qPZk0LXDPY4j81K0+zg0\/Qjf9S0794yuaQ9Sd8XEJr9P7ssURFWagiIgCIiAIiIAiIgCIiAIiICHdrgy12yasfgljfdaficeQ9VV6SoZI6KS5VOTU1zukJO5DOrn6+GFaXO2U92pPZqnj4OIO9x2DlS2tDWhrQAAMADqUr2jYodNyq4notPqfURFEvCIiAgXyh+0bNU0oGXuZlg\/wB4bj5hY6nrxXVOnWk\/e08hikB5jBbj5Y+a\/QFnzpOAagbdI5uBokEhh4M5dvnfO2+CrYSSVmYuJoznJSh2v97mgREVRtIF7uH2ZaKiqBAe1uGZ\/aOwULSdtfQWdsk2TPVHpX5O4zyHpv5qDqAfbWoqKytk+5i+9qAPp44\/iWpa0NaGtAAAwAOpWPKNuplh\/UrOW0cl9d\/g+oiKs1BERAEREAREQBcaymZWUc1M\/wDRlYWHfHMLsiHGk1ZmBZWPOg6yilwJKacR4PPHGHfXPotnamdHaKNm\/uwMG\/8AdCwF+Iobld6INw2eRko3\/wAX\/MV+i0zDHSxMPNrAPkr6mn1PO4Ntzaf+Kt9mzqiIqD0giIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCgXm6RWi3SVMhBdjEbD8buoL5d6+soI4nUdvfWlzsODXY4R6FU9DYqu71oud\/GOE\/dUvwtHf3d3X1qcYrV6GerUlfBTWfsiRpa0yU1O65VpL62rHEXOO4YcEA9\/X6di0CIoyd3csp01TiooIiLhYEREAREQBERAEREBgdZUodqenAG1QxgOOs8RH0wt8qG9Wior75bKqKIOip35lJcBgZBG3X1q+Vk5XikZKFNxqVH1YREVZrCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "EDISON",
    "correoContacto": "edinsonromero30@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONEXION DE ESCANER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:24",
    "ubicacionGPS": "LatLng(lat: -23.6739479, lng: -70.4046197)",
    "horaLlegada": "10:15",
    "horaDespacho": "10:12",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 10:24:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 10:24:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[11/08/2026 10:24:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61964800', 'KY2318', 1, 19969062, 147418, NOW(), 
				'10:12', '10:15', '10:24', 15, 'Conexion escaner
Firmado por Sebastian Campos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786458270.png', 'Conexion escaner
Firmado por Sebastian Campos', null, 'COMPLETADO','LatLng(lat: -23.6739479, lng: -70.4046197)' )
				
[11/08/2026 10:24:30] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201430

11/08/2026 10:24:30 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201430'                    
				WHERE idllamado = 13742			
				TO ENVIO: micorreo@miempresa.cl, edinsonromero30@gmail.com, donkhapone@outlook.com


11/08/2026 10:24:31 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13742			
				
11/08/2026 10:24: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

11/08/2026 10:24:30 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-TmfdyDu.YKcuquEfjwzENjTEtXqw_7nLkyz.88tRYxmIwKU9v1L
11/08/2026 10:24:30 Detectado modo MULTIPART/FORM-DATA
11/08/2026 10:24:30 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786458270.png
11/08/2026 10:24:31 Envío correo: Fallo
------------------

11/08/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:33 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:33 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

[11/08/2026 10: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;
                

11/08/2026 10:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:33 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:33 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:34 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

[11/08/2026 10: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;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

[11/08/2026 10: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;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13742
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:24: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/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24: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/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13742
            GROUP BY l.idllamado;
            

11/08/2026 10:24:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13742
                and cs.estado_control = 1;
                

11/08/2026 10:24:39 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:24: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/08/2026 10:24:39] 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/08/2026 10:24:39 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 10:24:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:44 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:24: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/08/2026 10:24: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/08/2026 10:24:44 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 10:24:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:47 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:24: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/08/2026 10:24:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:47 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:24: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/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:24: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/08/2026 10:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:24: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/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:24:57 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:24:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 10:24:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)
[11/08/2026 10:24:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 10:25:31 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:25: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/08/2026 10:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:51 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10:25:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:54 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:54 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:25: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:55 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10:25: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:25:56 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:25: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/08/2026 10:25:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:15 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:15 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 10:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26:26 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26:26 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:26: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/08/2026 10:26: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/08/2026 10:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:26:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                
[11/08/2026 10:27: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 10:27:03 - INPUT: {"rutTecnico":"9291721"}[11/08/2026 10:27:03] 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/08/2026 10:27:03 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-5891
            [FechaLlamado] => 30/07/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-5891
            [FechaLlamado] => 29/07/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 29/07/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 29/07/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 29/07/2026
        )

)

11/08/2026 10:27:05 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:27: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;
                

11/08/2026 10:27:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:27:12 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:27: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/08/2026 10:27:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:27:13 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:27:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:27:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:27:13 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:27:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:27:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:27:13 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:27:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:27:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:28:02 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:28: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/08/2026 10:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:29:03 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:29: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/08/2026 10:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:29:03 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:29: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/08/2026 10:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:29:05 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:29: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;
                

11/08/2026 10:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:29:05 - INPUT: {"rutTecnico":"9291721"}
[11/08/2026 10:29: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;
                

11/08/2026 10:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:31:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:31: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/08/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:31: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:31:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:31: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/08/2026 10:31:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:31:43 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:31:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 10:32:30 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:32: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/08/2026 10:32:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 10:32:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:32:32 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:32: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/08/2026 10:32:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:32:41 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 10:32:41] 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/08/2026 10:32: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 10:32:41 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [RutCliente] => 16524375
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 04/08/2026
        )

)

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:27 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:35: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;
                
[11/08/2026 10:35: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;
				

11/08/2026 10:35:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 10:35:27 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:29 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:33 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:37 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:35: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/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:35: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/08/2026 10:35:45 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:35:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:35: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/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:35:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:36: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/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:36: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/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:36:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:36: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/08/2026 10:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:37:00 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:37: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;
                

11/08/2026 10:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:11 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:11 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:11 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:11 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:11 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:12 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:13 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:13 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:15 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:15 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38: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/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:18 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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/08/2026 10:38: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/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[11/08/2026 10:38: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/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 10:38: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/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:20 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                
[11/08/2026 10:38:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 10:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:38:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 10:38:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 10:38:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:38: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/08/2026 10:38:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:38:40 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 10:38:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 10:38:41 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:35 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:46:35 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10: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;
                

11/08/2026 10:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

[11/08/2026 10: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;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10: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;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

[11/08/2026 10: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;
                

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10: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;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10: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;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:37 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10: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;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:37 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10: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;
                

11/08/2026 10:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46: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/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46: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/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:46: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/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 10:46: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/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46: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/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46: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/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:46: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/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46: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/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:46: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/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 10:46: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/08/2026 10:46:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 10:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 10:47:00 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 10:47: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/08/2026 10:47:00 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 10:47: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/08/2026 10:47:18 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:47: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/08/2026 10:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10:47:23 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 10:47: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/08/2026 10:47:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10:47:33 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 10:47: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/08/2026 10:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:52:44 - INPUT: {"rutTecnico":"21773342"}
11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 10:52: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/08/2026 10:52:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:57:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10:57:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 11:03:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Zn_lT66PEfuRkfcLILqPXITiENr0KuuQRlQQdF2Ffsqu8eOLq.l
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3177",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "278",
    "contadorColor": "6887",
    "contadorScanner": "0",
    "detalle": "02 itin 2560\n02 itin  2563\nMantenimiento, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13744",
    "observacion": "",
    "firma": "",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:03",
    "ubicacionGPS": "LatLng(lat: -23.1012236, lng: -70.4480815)",
    "horaLlegada": "null",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 11:03:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 11:03:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 11:03: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('69020400', 'EP3177', 1, 21773342, 278, NOW(), 
				'08:00', 'null', '11:03', 3, '02 itin 2560
02 itin  2563
Mantenimiento, limpieza', -1, 
				'', '','1','6887',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.1012236, lng: -70.4480815)' )
				
[11/08/2026 11:03:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 0
TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 11:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:03:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13744			
				
11/08/2026 11:03:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 11:03:44 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-Zn_lT66PEfuRkfcLILqPXITiENr0KuuQRlQQdF2Ffsqu8eOLq.l
11/08/2026 11:03:44 Detectado modo MULTIPART/FORM-DATA
11/08/2026 11:03:44 Envío correo: Fallo
------------------

11/08/2026 11:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:46 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:03:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 11:03: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/08/2026 11:03:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:03:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:03:46 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:03: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/08/2026 11:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:03:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:04:37 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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/08/2026 11:04:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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/08/2026 11:04:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:04:51 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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/08/2026 11:04:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:51 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:54 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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;
                

11/08/2026 11:04:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:04:54 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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;
                

11/08/2026 11:04:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:04:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:04:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:56 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:04:56 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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/08/2026 11:04: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/08/2026 11:04:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:04:58 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:04:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:04: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/08/2026 11:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

[11/08/2026 11:04: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/08/2026 11:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05:00 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 11:05: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/08/2026 11:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:01 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 11:05:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 11:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:01 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 11:05:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 11:05:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:02 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:02 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 11:05: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/08/2026 11:05:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:03 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:03 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:11 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 11:05: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/08/2026 11:05:11 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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;
                

11/08/2026 11:05:12 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 11:05: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;
                

11/08/2026 11:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:14 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

[11/08/2026 11:05: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/08/2026 11:05:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:14 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:05:17 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:17 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 11:05: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/08/2026 11:05: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/08/2026 11:05:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:05:18 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:05:18 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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/08/2026 11:05: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/08/2026 11:05:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:05:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:20 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 11:05: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;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:05:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:05:20 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:05: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;
                

11/08/2026 11:05:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:48 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:49 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:13: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/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:13: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/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:50 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13: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/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:51 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:13: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/08/2026 11:13:51 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:13: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/08/2026 11:13:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:51 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:51 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:13: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/08/2026 11:13:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:52 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:52 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:13: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/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:13:52 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:13: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/08/2026 11:13:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:13:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:15:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:15: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/08/2026 11:15:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:15:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:15: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/08/2026 11:15:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:15:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:15:44 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:15:44 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 11:15: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/08/2026 11:15: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/08/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:15:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:54 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:15:54 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:15: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;
                

11/08/2026 11:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

[11/08/2026 11:15: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;
                

11/08/2026 11:15:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:15:59 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:15:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:15: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;
                

[11/08/2026 11:15: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;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:15:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:16:05 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:16:05 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

[11/08/2026 11:16: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/08/2026 11:16: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/08/2026 11:16:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:16:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:16:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:16:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:16:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:16:06 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:16: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;
                

11/08/2026 11:16:06 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:16: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;
                

11/08/2026 11:16:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:16:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:16:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:16:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:16:08 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:16: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/08/2026 11:16:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:16:08 - INPUT: {"rutTecnico":"21773342"}
11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

[11/08/2026 11:16: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/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:16:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:16:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:16:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:41 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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;
                

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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;
                

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:17: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;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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;
                

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:17: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;
                

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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;
                

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:17: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/08/2026 11:17:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:43 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:17: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/08/2026 11:17:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:43 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:17: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/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:17: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/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:17: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/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:17:44 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:17: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/08/2026 11:17:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13740
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2465
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:52 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:18: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;
                

11/08/2026 11:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:52 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:18: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:18: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/08/2026 11:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:18: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:18:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:18: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:18:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:18: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/08/2026 11:18:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13744
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP3177
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:18:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:18:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 11:18:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-dWPHY0q6MWsWarXp3GrmL1w+ZL2-j_xCSR8i.+vAgFMA2jK1LCY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "KY2465",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "305794",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega toner\nConexion escaner\nFirmado por Noelia Torres",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13740",
    "observacion": "Entrega toner\nConexion escaner\nFirmado por Noelia Torres",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADbAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMBBAYHBAgFBQEAAAABAAIDBAURBhIhMUETUWFxgZEUIiMyobHBBxXC0SRCQ1JyouHwMzQ2c4I1U5Ky8dL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EADIRAAIBAwIDBwQBAwUAAAAAAAABAgMRIRIxBEFREyIyYXGRoYGxwdHhIzPwFCQ0QnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBEVbqGrNDYaucHDtjZbuzvduHzXUruxGclGLk+RwsN3qLvLWyOZGKaKXYhc0HLu85xwxw61cqp0xStpNPUjQN8jOkO\/OS7f8sK2XZW1OxCjq7NOW4VRf7zNZWU0zYBJA+TZmdzaOz4+St1FudBHcrdNRycJG4B\/dPI+a5G18naqk4PQ8khj2yRtkY4Oa4AtI5helndH1kjqKW2VJxUULywtPHZ5eRyPJaJdkrOwpVFUgpBERRLAiIgCIiA+EgDJOAFn63VJ9MdQ2mjfXTji5p9QePP4DtUa8VdRfbqLHb5XMhZn0uVo3Drb9O0q+tdrpbTSCnpWYHFzjxeesqyyirsyuc6snGm7Jc\/1+yk+9NWRjalskLmngGO3gf+R7F9Zq91K\/o7va6ijP74G00nxx8MrTLxLFHNG6OWNsjHDDmuGQfBc1Re6O9jUXhm\/rZnilq6etgE9NK2WMkgOaV2WVq7DWWWqdcrC4uBOZKQ7w4dnX3cepWtkv1PeYnBrTFURj2sLgfV8eaOOLrY7Cs9WiorS+H6FqiIoGgIiIAiIgCIiAIiIAs3rmQizRQNG0+adrQOfAn5481pFmNSkVOoLLRE+r0vSOB4EZH5HzU6fiM3Ff2muuPc0cMQggjibwjaGjwGF0RFA07BERAZa85sepaa8NGKepHQ1GBwPX5AH\/AIlagEEZByCoN6trbra5qQ42nDMZPJw4Kv0jcnVdsNJPkVFGejeDxxy+WPBWPvRv0Msf6dZw5SyvXn+y\/REVZqCIiAKo1NdfumzySMdieX2cXWCefgN\/krdZWqaLxriKmd68Fvj23DiNrcfmW+SnBJvJn4iTjC0d3hFnpu1fdlsaZQTVVHtJ3O94k8j3Z88q3RFFu7uy2EFCKiuQREXCYWb1NbHwbF7tzRHU0p25A0YEjeZPXuz4ErSL4QCMEZBUoy0u5XVpqpHSyNba+K5UMVXFjDxvbnOyeYUpZKg2tM6kfb3g+hVx2oHcmnq+nkVrUkrPBGjUc42lusMIiKJcEREAREQBERAFmJgKn7Q4Mj\/LU3LfyPH\/AMlp1mLSBUa4u1Rj\/DYIxjh+qPwqcOb8jNxGXBea+MmnREUDSEREAWSuoOntUQ3VgxS1nqT44A8z8j4Fa1Veo6H7wsVTCG5e1vSM3ZO03fu7+Hipwdnkz8RByheO6yi0RVOmbh942OCRzi6SMdHIT+8P6YPirZRas7FsJqcVJcwiIuEzy97Y2Oe84a0Ek9QWa0cx1SbhdpMl1VOQ0u44G\/648FY6nrDRafqpGnD3tEbf+Rwfhle9O0gorDSRbOHGMPd3u3n54VixB+Zml3q8V0V\/fH7LNERVmkIiIAiIgKDWNAauymePAkpHdKCermPr4KztNc25WunqwQTIwbeOTuY88qU9jZI3RvaHNcCHA8wszpGV9HV19kmftGmeXRZHFucH8J8VYsw9DLLuV0+UsfVbGoREVZqCIiAIiIAiIgCzGj\/a1V3q856ap8OLj+JaOokMVNLIOLGFw8AqDQ0YZp8uH68znHyA+imvCzNUzXgvV\/g0aIigaQiIgCIiAy1hH3Tqa4Wk5EUw6aHaPy69x\/lWpWX1aHUFdbr1E0F0MnRyZ5g7x+LzWmY9skbZGODmuALSOYVk82kZeH7rlT6P4Z6REVZqMvrDNZVWu1N39PPtP7Bwz5F3ktOAAMAYAWYiBuH2gSSEZZQwYaSOJ4fNzvJahWTwkjLQ705z87ewREVZqCIiAIiIAsvewbXqi33QEtin9jNyHZk+P8q1CoNaUxn0++Vpw6nkbIOvq+vwU6fisZ+JT7JtbrPsX6KPb6n0y3U9Tzlia895CkKBemmroIiIdCIiAIiIDhW\/5Go\/2nfJUuif9Os\/3Xq9m\/wJP4T8ln9C\/wDQHf77vkFYvAzNP\/kR9H+DSIiKs0hERAEREBCvFCLjaail3Zez1SRnDhvHxUDSFaaywRMeT0lMTC7PZw+BA8FeLLWEC3arutuAwyTErBjGOeP5vgrFmLRlqdytGXXH5RqURFWajMWP\/WF58PmtOsxY\/wDWF58PmtOpz3M3C+B+r+4REUDSEREAREQBRbnB6Ta6qDnJC5o388KUiLBxq6sUOjKjp9ORN5wvdGfPPyIV8sxo\/wDR6i7W8bm09TlvjkfhC06nU8TKOFd6Mb+ntgIiKBoCIiAIiID44BzS07wRgrNaHdsW+rpXbnQVLgQeIGAPmCtMsvYj6Hq68UJwBKRMBntz+NTj4WjNVxVhL1Xuv4NQiIoGkIiIAiIgCy9+\/QNVWm45w2UmF\/YOGfJ3wWoWe1rTdNYHTDO1TyNeCO\/H1U6fisZuKT7JtbrPsaFFHoKkVlvp6kDHSxtfjqyFIUDQmmrozFK40uv6uJxOzUwAsz1gA\/Ry06zF+HourbNW8BITCTyG\/H4ytOpz5Mz0MOcej++QiIoGkIiIAiIgCIiAzFm9jrS7wfvtEnyP4lp1mKX1PtErMfr0wz5M\/JadTnuvQzcN4ZLo39wiIoGkIiIAiKDartTXildUUoeGNeWHbGDnAP1XbcyLkk0ubJyzFUPRftBpHt4VUBDsdeD+QWnWR1LUGk1bap3NIjaB6wBJOXEEeR+KnTy7GfimlBS6Nfc1y+ZAxk8eC+rJ6nqZKDUVqqQ+ZzM74o95ODjcM4JIcQoxjqdi2tV7KOpmsREUS0Ii4VdZTUMJmqp2QsHNxxnu60ONpK7O6j3Cm9Mt1RTc5YnMHeQqB+q6m4Svp7Fbn1Lh+2k3NHh+ZC8s05eLiOku13kZtcYYeAHy+BVihbLdjM66mrU46vt7nbR1dG6wMilkYx0Mjo8OcAesfP4LRrA2TTdDW190oqp0uaWQNjexwBxlwzwxyC1NnsUdmdL0VVPKx4ADJHAhoHh2rtRRu8lfCzquEU442vfoQta0zpLKKlg9elka8O5gE43eOFd0VSKyhgqQMCWNr8dWQvtXTtq6Oamf7srCw+IwqLRVS51sloZT7WjlLCOoHh8dryXN4ehZ4OI\/9L5X8GjREVZqCIiAIig0t3pay41FBEX9NT++HNI54OPh5rtmRckmk3uTkRFwkZgYH2huxuzS78c9y06zFMDL9odYcZEVMOPLc3h5\/NXNzvFJaGxOqnloleGtwM8xk+AOVZJNtJdDJRkoxnKWFqZOREVZrOJqqcVIpumZ0xGRHtetjuXZY7UdZDbtY26re542Ih0mOTSXDPxK10Usc0TZYnh7HjLXNOQQpyjZJlFOrrlKPNM5V03o9vqZ9\/sonP3dgJWd0BK02qphHvMn2j3FoA+RXXV9ZJJDBZ6RwNRWPDXNB3hvb1An4AqLYYGWHVFTanPyyeJronH9YgZ\/\/Sml3GZqlT\/cx6LH1Zr1kPtAiLqSjlA9x7gTjhkD8lr1nNcw9JYA8D\/Cma7w3j6qNN2mi7jFehJFvaq2K4WyCphPquYARn3SOIVJf\/aarssbfea4uPdkfkVXW+aq0o+OR8Mk9tq42SF7RvjcRk\/PnxGOpWNqZJedSSXp8MkdPAzo6fb3E8Qcjxd3ZUtOlt8ih1XVhGm\/FdX+mbmnXxzg1pc4gADJJ5KJcrrR2mDpquUN\/daN7ndwWday66uO1IX0Fq5NHvS\/n8u9QUb5exqqVlF6Y5l0\/fQk12qJKip9BsMHpc53GUj1G\/318O9fKbST6qf0y+1bquY\/s2nDB2f\/ADCvKC3UlspxBSQiNvM83HrJ5qUu67YiQVBzzWd\/Ll\/P1OcMENNEIoImRRt4NYMALoiKs1JWMxah0OubtCNzXxh5A6\/VP4itOsxY\/aawvMvHZwzPj\/RadTnuZuG8D9X9wsnd43ae1BHeoxmlqT0dS0ciefwz3jtWsUevoobjRS0k4yyRuM8weRHaFyLsydam5xxusr1OzHtkjbIxwc1wBaRzC9LNaUrponz2OsPt6M4jP7zP7x4FaVJLS7HaVRVIKQREUS0LFPqvu\/7RpCTsxz7Mbt\/HaY38QC2q\/PdUxSTalqpKbIfSQslcW8RjZ3+GQfBW0ldtGHjm4wjJcmvyfoSKLbaxtfboKtvCVgJHUefxUkkAZJwAqtjammrozNl9trK8TneWAR58h+FdtbUon0++XnTva8eJ2fr8Fx0YDObncDnFTUnHLOMn8St79F01hrmYz7BxA7QM\/RXN2qIwwjr4aXnd\/c4aZuf3pZYpHn2sfs5O8c\/EYKt1+f2aarsdNTXaJr56CoaW1LGtGYy1xGe\/qJ61c1mtaR9GRbY5Zqp+GsYY\/dJHPr7h1JKm9XdFHioqmu0dnb39CNHTRaj1dXGYbdLSxdDjfx4fPaI7h3qSyw3+gJjt16HQjcxswzsjPaD9FYabtJtVtxKSZ5j0kpdxz1HeeCt1yU7Oy2JU+HUo6p4k84xuUln04ygq3V9XUOq61\/GR3Bvd4blH1fQyGmiutLuqKJ21kD9X+h3+a0a+OaHNLXAEEYIPNRU3quy58PDs3TWP31I1ur4bnQx1dOfUeOB4tPMFVGtpAzTr2kgdJK1o7ef0Ub7uuunKuWa1xiqoZX7TqYZ2h2Ddu7+xVl9us92ZCKyldQ0Ubi4tk3vkcBwA3Hgd3Led6nGHeTWxlrV32LhNWlt5etzUacmE+m6N78YEWyd+7Dcj6KBcNTvnnNBYYfTKk7jKPcZ9D38O9Uen7fcb5bhSGr6C2wvIe1nvPPHHx57ltqC3UlspxBSQiNvM83HrJ5pJRi3fJKjKrWpxUcK2\/P6fsqLbpcdP6deZfTqw8nb2M8Ofy7Oa0AAAwBgBfVHpq+krHyMpqiOV0R2XhrslpVbbllmqEIU8Ln8khERRLQiKDebgy12qeqc4Nc1pEfa88B5rqV3YjKSinJ8im0f7WrvFX\/3qnlw4uP4lp1R6QojR6fhLvenJmPHnw+ACvFKbvJlPDRaoxv8A5fIREUDQZrVFHNSzwX6iB6alIErR+uzt+IPYexXlBXQXKjjqqd20x48QeYKkOaHNLXAEEYIPNZF4fo67mUNLrTVuwQCT0Tv78x3Kxd5W5mSf9Gev\/q9\/J9f2a9F5Y9skbZGODmuALSOYXpVmsLK2iFlw1NfXyt2oyOgcTuODlpH8vwWjraltHRTVLyNmJhfv54CpdF0z47M+plB6SqldJkjGRw+eT4qyOItmWr3qsI+r\/H5OWj5H0rq6zzEh9LLtMyeLT1dm7P8AyVpqCsFDYqubOHGMsZ\/E7cPnnwVNqEPst9pb7C32UmIqkDn\/AGB\/KvmpKhl3uNstFPK2SKZwmkLd+W8uHZtHyUrapKRR2jp0pU+awvrsWul6N1Fp+mjkBD3gyOB5ZOR8MKbc\/wDpVX\/sP\/8AUqS1oa0NaAABgAclCvcohsdc8nGIHgd5GB8VXe8rmvSqdLT0RA0ac6bg\/if\/AOxVy2ngZJ0jIY2vxjaDQD5qq0nGY9NUgdxcHO49bjj4YVyuz8TOUF\/ShfogiLy97I2F8jgxrRkuccAKBeel4lljgidLM9scbBlznHAAWfr9YQNl9FtUD6+oO4bAOz+Z8PNcIdPXG9StqdQVJDGnLaWPcB3kcPie1WKFsywZnxCk9NJan8e50qdVvrJzR2GlfVTH9q4YY3t\/+4XS26XxUmuvM3p1UeAdvY3w5\/JXdJR01DCIaWBkLByaMZ7+td1xztiIjQcnqqu7+F\/nmZjSv6NdbxQ8BHPtMHZkj5YWnWYpf0X7QathO6ppwW55nDfyK06VN7jhcQceja+Qo1PbqOknlnp6dkckxzI5o97fn6qSihc0NJu7CIiHQqytsFFcLnFX1IkdJE0Nazaw3cSQevn1qzRdTa2IyhGatJXPjWhrQ1oAAGAByX1EXCQREQBcKyjgr6SSlqWbccgwR9Qu6IcaTVmZDpLxpN2y9hr7YM7OzxiGeZxu+XctFb7vQXOIyUlQx+BlzTuc3vBUxzQ5pa4AgjBB5qkq9H2erkdIIHQOdjPQnZHgOA8FZeMtzMqdSl\/byuj5ejIWobi+61Edhtj2yOmI9Ikachjcg8fifJaOlpo6OlipohhkTA0eCj22zUFpY5tHAGF3vPJy4+JU5ck1ayJ0qck3Oe7+ER6+GlnoZmVgBp9gmTPIAbyvz7T9Y2zVxuT6OV9DIXRNmIyWDI39XV8cdS0+sK57KFlspm9JVVp2Qxu8hvM+PDz6lbUdugpbXFQGJj4mMDXNcMhx55zxyclTi9Mc8zPVg61bu4cefn0OtLWU1bF0tLOyVnW05\/vgqTV9WHWs2+A9JUVL2tDGHJABySeobsL1UaMtc0m3EZqY4IxE7A394614itOn9MYqp5PaDex0ztp3\/EAfRcjpTuiVR1pQcZJJc3cvKKmFHQwUw39DG1mevAwvc08NNEZZ5WRRt4uecALNTamuFzPRWG3SvBOPSJW+qPp5nwXqPSk9e9s99uEtS8b+ijOGD++wBc0WzJklX1LTRjfz2R7q9Y07pW01phfW1DzgENIaPqf73qOzT92vbxNfawxRZyKaI8PoPiVpaSjpqGEQ0sDIWDk0Yz39a7prS8KO9hKearv5LC\/ki0Fso7bF0dHTsiHMgb3d54lSkRVt3NKioqyCIiHTMXf9H1vaqjOBKwxnHM7x+ILTrMazHQm2V5B2aao345ZwfwrTAgjIOQVZLwpmajipUj5p+6PqIirNIREQBERAEREAXxzg1pc4gADJJ5L6vjmhzS1wBBGCDzQEaguNJc6fp6OYSMzg7sEHqIPBSlmK6wVdsqTcdPODHYPSUx4PGc7h9PJSaDVtvnb0daTRVLQNuOYEDPYfzwpuF8xM0a+l6auH8P0L5FxirKWcAw1MUgIyNh4O5eZrhRU7S6argjA47UgCjZl+qNr3JCgXm7QWegdUzHLjujZze7q\/qq24atp43imtURr6l3ARglo\/Pw81HpNP3Gre653aZktWGEwQPGWRu5ZH0HxU1C2ZGaddyvGll9eSOunLVPNKb3dQX1ku+Jrv2bcbt3L6BT7jqW1W0ES1IlkBx0cJDnePIeKrHWfUF2kBuVxFLARvhpzv7jjcfHPcrO3aatVtAMVMJZAc9JMA53hyHguy03u2Qpqoo6acbeb39ipfcdQ331bbSmgpXft5dziOsf0HipVJo+jZIKi4TS19RzdK47Plz8SVoUUdb2WC1cPFu9R6n57ex5YxkbAyNoY1owGtGAF6RFA0hERAEREAREQFTqek9M09VMDQXMb0jezZ3nHhnzXvTtWa2wUcxOXdHsO3827vorFzWvYWOGWuGCOsLNaKcYIq+2v9+mqD5Hd+H4qxZg\/IzS7vERfVW9smnREVZpCIiAIiIAiIgCIiAKDW2a3XF23V0ccj8Y28YdjvG9TkXU2tiMoqStJXM\/LomzSOJayWPsZJ+eV9i0VZY\/eill\/jlP0wr9FLXLqVf6aje+lEajt1Hb2FlJTRwg8dkbz3niVJRFDcuSSVkEREOhERAEREAREQBERAEREAWVqnGx6yiqcAUtxAY88AHdfng+JWqVRqe3OuVllZEMzRESR944\/DKnB2dmZ+Ii3DVHdZRboqvT10F1tUcrnAzM9SUA\/rDn48VaKLVnZl0JqcVJcwiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMo6M2DWMZjw2kue4t6n55eJB8Vq1wqKKmqpIZJ4WyOgftxk\/qnrXdSlK9imlTdNyXJvAREUS4IiIAiIgP\/\/Z",
    "razonSocial": "COLEGIO ANTONIO RENDIC",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "COLEGIO RENDIC",
    "correoContacto": "mtorres@arendic.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "TELÉFONO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO PUEDE SCANEAR  Y ENTREGA DE TONNER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29599\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:18",
    "ubicacionGPS": "LatLng(lat: -23.6991555, lng: -70.4220342)",
    "horaLlegada": "10:35",
    "horaDespacho": "10:24",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 11:18:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 11:18:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78863090

[11/08/2026 11:18: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('78863090', 'KY2465', 1, 19969062, 305794, NOW(), 
				'10:24', '10:35', '11:18', 10, 'Entrega toner
Conexion escaner
Firmado por Noelia Torres', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786461539.png', 'Entrega toner
Conexion escaner
Firmado por Noelia Torres', null, 'COMPLETADO','LatLng(lat: -23.6991555, lng: -70.4220342)' )
				
[11/08/2026 11:19:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201431
[11/08/2026 11:19:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201431', 'KYO-I647', 1)
				
[11/08/2026 11:19:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29599 and
				    IDproducto = 'KYO-I647'
				

11/08/2026 11:19:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
11/08/2026 11:19:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201431'                    
				WHERE idllamado = 13740			
				TO ENVIO: micorreo@miempresa.cl, mtorres@arendic.cl, donkhapone@outlook.com


11/08/2026 11:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13740			
				
11/08/2026 11:19: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

11/08/2026 11:18:59 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-dWPHY0q6MWsWarXp3GrmL1w+ZL2-j_xCSR8i.+vAgFMA2jK1LCY
11/08/2026 11:18:59 Detectado modo MULTIPART/FORM-DATA
11/08/2026 11:18:59 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786461539.png
11/08/2026 11:19:00 Envío correo: OK
------------------

11/08/2026 11:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:02 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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;
                

11/08/2026 11:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:02 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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;
                

11/08/2026 11:19:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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;
                

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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;
                

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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;
                

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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;
                

[11/08/2026 11:19: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;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:19:03 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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;
                

11/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:04 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:19:04 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:04 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:04 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:04 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:19: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/08/2026 11:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:19: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/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:19:05 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

[11/08/2026 11:19: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/08/2026 11:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11:19:06 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

[11/08/2026 11:19: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/08/2026 11:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:06 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 11:19: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/08/2026 11:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13740
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13740
                and cs.estado_control = 1;
                

11/08/2026 11:19:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:19:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:19:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:19:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:19:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:19:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 11:21:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-l7fMyokHkBv6UQg94o1-OorWGHx-Pwx-2tdt0WQlvxR85l3MnJQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3177",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "2 tinta iton 2560\n2 tinta itin 2563\nmantencion y linpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13744",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADTAPIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABLEAABAwMBBAcGBAIFBw0AAAABAAIDBAURIQYSMUETIlFhcYGRFBUyobHBI0LR8DPxBxYkUoJDU2KSorLhJSY0NTZHVHJzdITC0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAwEFBgUEAwEAAAAAAAABAgMRMSEEEkFRYRMiMnGh0YGRseHwFCMzwUJy8VL\/2gAMAwEAAhEDEQA\/AP2ZERABERABERABERABERABERABERABERABRa+50dti6SsqGRDkCdXeA4lU902nIqfd9mi9srDkEt1az9fovm3bK70\/t17l9tqna7jtWN7u\/wCioo2V5GaVZye7SV3z4I5u2rrLi8xWS1yzEj+LLo0H6epXppNsKg5NfS0zTrugAkd3wnh4rSsYyNgZG0Ma0YDWjAC+kb6WEHYSl45v4aGY9z7UN6zb6wuPEFun0Xy+o2rtBElQyG5QAEuMejgPIA8uwrUojf5oP0yXhk18fcq7VtBQ3Y9FE50VQBl0Mgw4Y4+KtFR3rZ1lc4VlCRTXCM7zZW6bx78fVe7P3w3FklLWDoq6m0ladM40LsePH\/iuOKavEIVJRluVM8Hz+5doqKv2qpIJfZqGN9fVHQMh1Ge8\/plRfdF6veX3atNJAeFNTn6n+fkhQ4vQ666btBbz9PmXtRc6Ckz7RWQREcQ6QA+igHa6xNODXjyiefsuVPsZZYB1oZJz2ySH7YCsBZLS0YFspPOFp+yO51OX2h8l837HKj2itFfOIKata6RxwGlrm58MgKzVPcNl7VX0\/RimjpnA5bJAxrT56ahRrFW1dJcJLHcpTJNG3fhlJ\/iN9M\/yPYhxTV4hGpUjJRqLOGjQoiJDSEREAEREAEREAEREAEREAEREAEREAeEgDJOAFl7leKm9VbrPZD1eE9VyaOYH71XxeLlPtBVmy2h2Ywf7RUA9XHZns+vhx0NtttPaqRtPTt04ucfieeZJVElFXeTI5Ou3GD7vF8+i9zlaLNSWamEVO3LyB0kpHWef3yVgiJG23dmmMVFbsVoERFwYIiob1tIyilFDQM9qr3ndDBqGHv7+5dSbdkTqVI0470ixud2o7TTmarl3f7rBq53gFhbxDcrmJb86j9mpyAwgHDnN4ZPbyGfBaS27LE1Ht96m9sqzghrjlje7v+iv54Y6mCSCVu9HI0tcO0FUUlB6amWpSqbRHv6Lgvf2IVkp7dFboprdAyOOVgdkauPieJViszse99M64Wl7i72Oc7pPMEkfbPmtMkmrSNGzyUqaaVgiIlLBZrbFvsjaK7xaT00wb2bzTk4+XzK0qodtI9\/ZuZ2M9G9jvDUD7p6fiRn2lXoy6a\/IvGuD2Bw4EZRcLbJ01spZSc78LHZ8WhEjLxd0mSUREHQiIgAiIgAiIgAiIgAiIgAszfLnVV1xFgtbt2R4\/HmH5BzHdp9cKXtHenUELaKkBfX1Q3Ymt4tzpvfp3+C6bO2Rtoosy4fVy9aaTOdezP71VIrdW8zLUk6kuyjji\/682SrVaqa0Ubaenb3veeLz2lTURI3fVmiMVFWWAiIuDBEWVvFyqb3Xe5bQ7LB\/0mcHqgcMZ\/eT5poxuyVWqqavx4LmdLnf6quqza7A0SzcJagatjHcfv6Kwslgp7PEXfxqp+sk7hqe0DsCk2u1UtopBT0zdOLnn4nntKmrrlpaOCdOk3Lfqav0Xl7hERIaTMU+Kf8ApAqWt1FRTgkdmg\/T5rTrMf8AeJ\/8b7LTp58PIzbP\/l\/swiIkNIVHti4t2ZqQPzFgP+sFeLP7bO3dnXjON6Rg8dc\/ZPDxIhtLtRl5MtbS0Ms9E0cBTxj\/AGQi6UTOjoadmMbsTRjs0RK8lYK0UjuiIuDBERABERABERABERABQrtdKe0ULqqc5xoxg4vdyCkzTR08L5pnhkbBlznHQBZWiik2svDq6pDhbaV+KeMjAkOePy18gnjG+rwQrVHG0YeJ49yTs5ap55Te7qC6rlOYmu\/ybfDl+i0qIuSlvO49Kmqcd1BERKUCIqTaS8voIG0dIHPrqrqxNbxbnTP6LqTbshKk1Ti5Mi7RXaaeYWS05fVzaSuaf4beYzy+ytbNaYbNQNposOedZJMavd2rhs9ZGWejzJ16ubrTSZzr2D96q3TSatuojSpyb7Spn6L8yEREhpCIiAMxTAy\/0h1hxkRUw48tG8PX6rTrMbL\/ANsvF3uR4Pl6NngCftu81p0882M2zawcubb9QiIkNIWY24JkoaOmBx01SMnyI+606y+0h6faWyU2R1ZekIPPrD\/8lPT8Rm2r+JrnZeppwABgDACL1EhpCIiACIiACIiACIiACIqnaK8i0UGY8OqpjuwMxnJ0yfLP0XUm3ZCTmoRcpYRV3+omvd1j2fo3ERtIdVvGMBuQfl9cLS01PHSU0VNC3djiaGtHcFVbM2b3Vb+kmG9V1HXlcR1m5\/Lnu+quk02vCsEaEHrUnl+i5BERIaQiLxzg1pc4gADJJ5IAi3O4w2qgkq5\/hZoGji48gFSbOW2arqX365NzPPrTtJz0bDzHkdO7xUaFr9r7yKl7CLVSHdDHH+I7w8x5eK1wAAwBgBUfdVuJkh+\/PffhWOvX2PVTTbQs9\/R2qkgdUPDvx3t4Rjn6aZ9OK47S3qSjjbQW879wqCGta3UsB5+PZ6qXY7JDZ6bGekqZNZpTqXHsHcuJJK7GlOU57kOGX\/RaIiJDSFV7RXH3ZZZ52v3JXDciPPePZ4anyVosnWO\/rLtNHQsc19BQkPmwQQ9337PVPBXd2Z9om4wtHL0RbbMUBt9ip43HryDpXdxdrjyGArZESt3dysIKEVFcAiIuDhZggVn9Ieoz7HTemR8\/jWnWX2YHtV9vFfpgy9GzTlk\/YBPDRNmavrKEet\/kahERIaQiIgAiIgAiIgAiIgDnNNHTwvmmeGRsGXOcdAFlrLDJtFeX3yqYRTQu3aaJx+Fwxr9\/HwX3f6ia93WPZ+jcRG0h1W8YwG5B+X1wtLTU8dJTRU0Ld2OJoa0dwVPDHqzI\/wB6pb\/GPq\/sdURFM1hERABZraqulqHxWGiBdU1RBfjGAzX9M+A71dXO4Q2ugkrJ8lrBo0cXE8AFTbKW6VzZbzXNBqqw7zSQOq08x2Z+gCpDTvMy125tUY8c9F9y7t9DDbaGKkgaA2NoBOMbx5k95XtfWxW+hmq5vgibvY7TyHmcBSFl9oJDd73SWGMkxtcJarBxp2emvmOxcit56j1ZdlT7ucI+9lKOWpMt9retUVRIjyB1WDT7Y8AFpV8xxsijbHG3dYwBrR2AL6XJO7uNSp9nBRCIoV1utNaKN1RUO7mMHF57AuJX0Q8pKKu8EHaa8Pt9KylpMuras7kIHLUDPz07\/Bd9n7QyzWxkHGV\/XlP+ljh4BVuz9rqautkvt1YOml1gjcP4Y7cctOC0yeTst1GeknUl2svh5fcIiKZqCIiAI9wqhRW+oqXHHRRud5gaKn2KpnQWBsjgd6okdJrxI4fZebaVRhsfQMJ6SpkbGA3iRxP0x5q5t9KKK309M0Y6KNrfMDVUxDzMvi2j\/VfX\/hIREUzUEREAEREAEREAFVbQ3f3Rbi+IB1TKdyFmM5Pbju\/RWUsrIYnyyODWMaXOceQHErLWpj9pL++7zsIpKQ7tK0ggOIJwfEcfHHYniuLwZ682rQh4n6dSy2Zs3uq39JMN6rqOvK4jrNz+XPd9VdIiVtt3ZWnBU4qMeAXmRnGdV6svbqiS+7VSVsUjhRULTGzddpI45H6nyC6o3uxalTcaXFmoRFDu1wZa7ZNWPwSxvVafzOPAeq4lfQpKSim2UFxB2g2rit2M0lB15tPiPZ9B6rVNaGtDWgAAYAHJUWyFAaW0+1SgGasd0rndo5fc+avk03rZcDPs8XuupLMtfZHCtqmUNFNVSDLYWF5A545Kh2PpJnw1F4qiTNXPJH\/lB+5+QCbaVD3UVNbISOlrZg3B7AR9y1WlZUQWGxl4wGU8YZGDzPAD9966laNuYsmpVm3iC9X9ixRRKGtdUWuKsqY\/Zi9m89rzgN9VR1e01TcKk0Oz0HTScHVDh1Wd4z9T6FKotsrOvCEU3xxzLS832ls0IMuZJn\/BCw9Z3f3DvVTbLRW3itjvF7AbunMFNjAaNcZHz7TzUy0bMRUU\/t1dKayuJyZH6hp7s8+8\/JXqa6jpEmqc6r3qui4L3CIimagiKHcrrR2mn6arl3QdGtGrnHuC6lfByUlFXeCYqO47XWu3vMe+6okGciHBAI5E5VVLPddo4nVMkvuu0tGS4nDpG\/f6eKiWGw0t4r31QpzHbYHbsbXHrTHvP18cdqqoRWsjBU2mpJqNJZ4v6+RY3iRl22otNHETJCwdO7AwCOOvk35961a\/Pn7QR0W0dyr+j6aQAwU7D8IAOM+HV5dq2FiqqyttENTWxtZLJlw3eBaTocctFypFpI7s1WMpy5t+i0LFERSN4REQAREQARFBvFzitFukqpCMgYjafzPxoF1K7sLKSinJ4KXaaqmuNbDs\/QyYkkO9UOGeq3GcHu5+i0NHSQ0FJHS07N2KMYaFTbK2qSnp3XKsJfW1fWLnZyGnBx9\/RaBNN27qIUItt1ZZfogiKqv96ZZ6PLRv1UvVgj45Pb4BKk27IvOcYRcpYIO0tznkkZZLbl1ZUDruacbjfHl+nira02yG0W9lLCOGr3f3ncyq\/ZuyvoonV9cTJcKnWRztSwHl+vpyV6mk0luohRg5PtZ5eOi\/MhZS+g33aKlsrHHoIPxanH77NP8AEtPPMymp5J5DhkTC93gBkrM7Kvjjp6u9187YnVkp3TI4AbozwPjkf4V2Gl5HNoak403h6vyRqWtDWhrQAAMADkvVQ1e2VnpnFkcklS8HGIWZ18Tgeije8tprrpQ25lBEf8rUfEO\/BH\/1K5uS4jPaad7R1fTU5TTRVO3jn1EzGQW6HO894DQcDn25d8lD2uvlJcooKGhkNQRNl4Y04dpgAHnx5Ljs7YY7\/LVVtxmkl3ZcZYcCQ8Trjhw4YU+\/0FJbrrYvZaeOFntPWLBx6zMZ5nmrd1SS4o85urKjKWFJ\/HV2Okdiul8cyW9Tez07T1KSLAwPLh8z4LR0dDS2+AQUkLYoxybz8TxKkIoSk2enTowp6rV83kIiJSwRfEsscETpZntjjYMuc44ACy1Tdq\/aSd9DZAYqUaS1TxjI7uz6+CaMWyNWrGnplvCJt32mZTS+w22P2yudoGs1azxx9PXC4Ulga1zrvtFOJp2jeLXn8OMD5Hw4KztNkobJA7oW9cj8SZ\/E\/oFn7pVu2mqzTwS9DaaQ71RUHQOPd9vXsVI8o45mWpdd6rq+EeH51OoFRthV4AfT2eB3gZiP35eK+bxtIKaF9usMWWwM\/EmjGWxNHZ+qqrztGa2JtrtMboaNv4bWtB3peQHgeziearm1NYYPc0QZGyaRocxoyS7OgJ4nXGn8lVQ5mKe0WuovV5f9LkidsrYXXat9pqGb1JE7r5Pxuxw+YJX6O1oa0NaAABgAclwoaOG30cdLA0NZGMaczzKkKFSe8z1Nm2dUYW48QiIpmkIiIAIiIALI4G1e0efjtdD44kd\/P5DvU7aq6SQU7LZRkurKvqhrQctYcgn7eq+aa4WXZi3MozVMfKNZBF1y5+NSccOHNVimldZMVacZz3JPurP9L3NEiy52uqasYtdmqZ88HvGAPTPdzUO6V200dI+prJ4LbDjDWMIL3nXQcTnzC4qb4jS2umleKb+H9mnut1prRRuqKh3cxg4vPYFlrZVUU1xN9vddA2U\/wKcO3jGORIHy9VysezdRfGe3XeecxOH4WX9Z3frwC0UGydkgwRRB5HORxd8s4T92Gl9SH71dqaSS4J\/UrLxttSspi21yOfPkYc6Pq458dV9svG09axvslmZCMDLpzjJ7Rkj6LlfKSndf7PaqWCOFgeZXtjaBkZ7h2NK1y43GKVkPCNWpOW9OyWmn4zBX9m0ccMMFdXMkNW\/o2QQ4G946DOpHqrel2Gt0e4auWaoc0YI3t1vy1+fJfDQbrt24nPQ26PTXHW\/mfktSiU2kkjlHZ4TlKUtdbK+uPuRaS2UNCB7LSRREDGWtGfXivqvm9nt1TN\/m4nu444AlSFVbTSdFs5WuzjMe76kD7qa1ZsnaFNtcERdioRFs5G8DHSyPee\/XH2Xm2lK6ex9KzR1PK2Tjy4fdTdm4uh2doW4xmIO9dfurCWKOeF8MrA+N4LXNPAhM5WncjGlvbModDlQVTa63wVTCCJWB2nbzHqpCy2z8z7Ndp9nqlxcwnpKZ55g64\/fMFalLJWZSjU34XeVo\/MLnNNHTwvmlcGsjaXOJ5ALouc8LKiCSCQZZI0tcO4pSrvbQycTazbKfpJt+mtUb9GA6y\/vt5clqqalgo6dsFNE2KJnBrVnv6o1VNpb75VU7BwYckfIj6KivNdebfVOtvvd9U54w5sbdRngO3Ph2q+7v6RZ5qqPZ1v1Iu746E\/araOOoc610k4bFn+0TDn\/ojHHv\/mqDpKy7PhtdDE9sLP4cAPHte48zzzy5JU2iss\/s81THCZJvggcd53m1WUMt32SfJU1VFC59UcdK+QOcTxPA9vHRWSUV3TBOU6k26t0uOmEdrhDS7J28QQPbLdahvXlIz0TSCDu9nZ2lR9jbY6e+dNI0htI3eIz+Y6AH56dygsnq5K032topqmPf3t\/dIj3hgNycYwDgY8lrNhm\/8lTSujkEkkxc57xo\/TQj5pZXjBlaKjVrxsrJYX5zNMiIsh7oREQARFyqamKjppKid4ZHG3ec4oONpK7Pt72RsL5HBjWjJc44AWXue2scbZRa6d1SYsb8zmno2645a8dOS5BtbtjVZfv01oidoAdZSPr9B4r5rqenrbrBs1bomxUsJ6SpLQeXfnJ4415nuVoxSepgq1qk43p6J6Lm306dSLbrDX7Sym711U6nEjsANacluPy9g5eq01u2atVtAMVMJZAc9JMA53lyHkrKKJkMTIo2hrGNDWtHIDgFT3zaOO2ubS0jBU10hwyIa7pPDOPouOUpuyHjRo0I789Xz6ku7Xmks1P0tS\/LyOpG34n+H6qkobPWX+sZdb2N2Eaw0vLHLPd8z4KRaNnpH1HvS9O6etfgtYdWx9nmPQLRrl1HSORlCVZ71TRcF7+x4AAMAYAXqKHda0W+11NWeMbCW8OPAfPCRK5qk1FNvgUVoBuW2NwuHGKmHQxkDTPDj5H1WlmlZTwSTSHDI2lzj3AZVNsfRmmsTJX6yVLjK4nic6DXwGfNfW11Z7Js9Pg4dOREPPj8gU8tZ2RkpPs6DqPLu\/mQdkC2K3V13qniMVMxe5zjoAM6+pK6bPbQ1d7u1SOiZHSMYC0alwOdNeGuvoqG+1\/stppbDCcCKNrqotH5jru+ROfHC1Gylq92WdheSZajEr8\/lyNAqTSScnxM9CUnONKL0jnz\/wCl2qXa\/wD7L1n+D\/farpU21rS7ZisA7GH0e1Rh4kbto\/hn5P6Eyy\/9R0H\/ALaP\/dCmqDZCHWKgI\/8ADRj\/AGQpy48j0\/AvIqb7Yo7xC1zJDDVRaxSt015A88fRQrPtA+GQ2y9\/gVkeA17+Eg4DXtWjUO42qiusXR1kDZMfC7g5vgUykrWZKdJqW\/T0foyW1wc0OaQQRkEc16ssLFe7PIXWe4GeDGkE+vl2eYxyXvvnaimB9psbJcf5k6\/Ild3L4Yv6jd8cWvVehqFX1MFstsk94mhjjkDevKG69mnec479FUG+bSzvxTWDo\/8A1ifqcLOXy63SqqXW+6yshbEcvZC0EZxkc9ePamjTbeSVba4RjdRb5XWl\/iT6S4wtqn7R3h2ZndWlpWjXGNHeHEZ8Su1JZK\/aauFzu+YaY46OIcXN4gDsHfxK57LbKuldFcLhHiIdaOJw+PsJHZz79PPbve2NjnvOGtBJPYE05qLtEls9CVSCdXGbc+rMttKI6ust2ztKeja5wdI1g0YwcNPDJ8gtTHGyKNscbd1jAGtHYAsxss11zuddfZmEdI7o4Q7k3+WB6rUqc9LRNWzrevU548lgIiKZqCIiACzG0m\/cb7brKXEQS\/iytacFwGfsCtOqa92SevqKeuoKkU1ZTghjy3Rw7CfXt4lPBpMz7RFyp2Svj5cSTcaynsNnfKyMNZE3dijA0J5BUth9nsVtkuV1qGsqa09Id7O+RxxjjnJJPkqh9NeNobw61VldHM2kJMkjGgNbwBxgDJ5a9hWit2yNBSSdPVOdXVBOS+YaZ8P1yqNKKs2ZYzqVqm9COi0V+fEiyXO87QODLPC6jpCcOqZcAnw\/4eoVpZ9nqO0ZkZmapd8U8mrj4ditAABgDAC9U3LSyNcKCUt6bu\/zCCIiQuFmNs5H1DKK0w5MlVMCcDOANPqc+S06y8GLnt5PI7Do7fFusB\/vfzLvRPDN+Rm2nWCh\/wCnb39DSwxMghZDGN1kbQ1o7ANAsXt3WudX0dFFq6MdJgAHLicAfLh3rX1tbT2+lfU1MgZGwant7h3rK7PUwv8AfKq+VLDuRyAQtPIjh6DHmU1PTvMltffSoxy\/ofNNsdUOZQGYscHP6ar3\/i5Yb38\/MnuW0REkpOWTRSoQpX3Qod3g9ptFXCBkvhcB440+amLwgEYIyCuJ2ZWS3k0Umx9QJ9nKcZyYi5h9cj5EK8WW2XzbbvcrM\/Ia1\/SxZwMjh9N30WpTTXeIbNK9JJ5WnyCIiQ0BERABQ5bVQTVraySljdO0YDyOWvLgeJUxF29jjinlBZrausmnENjocPqas9cZHVYNdezt8AVeXCuhttDLVzuAbG0kDON48gO8qj2Wo5Kqee\/1jfxqsnohn4WZx9gB3J4K3eZmrtzapRy8+X5oXtBRRW+hhpIfgibu57TzPmclSERTNKSSsgiIg6EREAFXX65i02mapyOkxuRA83nh6cfJWKyVf\/zj2sjoB1qOg603Y53MeuG+qeCu9cENom4wtHL0RYbJWw2+0iaYH2irPSyE8cflHpr4kq9REsnd3KU4KnBRXAIiLg4REQB8ve2NjnvOGtBJPYFlNlKiKmt1xvNY8RNnnLnOcc5xr56uIWoqofaaSaAkt6VjmZHLIwsrRbHVL+iguVUHUdOTuRRab5OuSfEkduByVIWs7sx11U7SLgr2v8+pWXerrL9ST3OYGC3QdWnjPF7ycZ7z2nlwHNavZeiNDYKZjhh8g6R2RjV2v0wFV7TRMqq+1WGBoYxz99zGjRrRoNB3By1TWhrQ1oAAGAByTTl3Uiez0rVpSbu1pfrlnqIiiegEREAZbaSOW1Xilv8ADEHxs\/DnA4kHTPoceQWlp546qnjnhcHxyNDmkcwk8EVTA+CZgfHIN1zTzCy1FUTbJVvu+ty+3TPJgn\/uE8j9\/VU8StxRkb7Go5Pwy9H9zWovGuDmhzSCCMgjmvVM1hERABeOcGtLnEAAZJPJfMsscMTpZXhjGDLnOOAAspWV1VtXUOt9sBjoGH8aoOm93Du7vomjG5GrVVPTLeEfJ6TbK6ludy1Ub+IzmU\/8R6A9617WhrQ1oAAGAByXChooLdSMpaZm7GwY7ye096kIlK+iwco03BNy1k8hERKXCIiACIiAIN5uLbXapqo\/E0YYO1x4KBslbDb7SJpgfaKs9LITxx+UemviSoN4eb5tNTWZmXU9MelqMcM4+2QPFxWqAAGAMAKj7sbczLD9ys58I6Lz4+x6iIpmoIiIAIiIAIi+ZGl8bmBxaXAjeHEd6AMxZcXTay43I6x046GLIx3Z9Af9ZalV1js8dkoPZmSGRznF73kY3j4ctAFYp5tN6EKEHCHey9X8QiIkLhERABR62ip7hSvpqmMPjeNR2d471IRBxpNWZlRatobEw+7KsVtM06U8vxAd2fPgR4LozbNkBEdzttVSP4E7uRnzwVpl8ua17S17Q5p4gjIKpvp+JGbsJQ\/jlbo9UUn9crHug+1OyRqOidp8lHn20pnubFbaOetlecABpaPufkrv3Xb94u9gpt53E9C3J+S7xQxQs3Io2Rt7GNAC5eHI7uV3mSXkvdmXNovt\/ePfMzaWkDg4U8WMn0z8z5LS0lJT0NO2npYmxRN4Nb+9V2Rccmx6dGMHfL5vIRESlgiIgAiIgAiIgDjHSU8VRJURwsbNLjfeBq7HeuyIg4klgIiIOhERABERABERABERABERABERABERABERABERABERABERABERABERABERAH\/\/2Q==",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:20",
    "ubicacionGPS": "LatLng(lat: -23.1010385, lng: -70.4485491)",
    "horaLlegada": "11:18",
    "horaDespacho": "11:03",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 11:21:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 11:21:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 11:21: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('69020400', 'EP3177', 1, 21773342, 0, NOW(), 
				'11:03', '11:18', '11:20', 3, '2 tinta iton 2560
2 tinta itin 2563
mantencion y linpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786461691.png', '', null, 'COMPLETADO','LatLng(lat: -23.1010385, lng: -70.4485491)' )
				
[11/08/2026 11:21:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201432

11/08/2026 11:21:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201432'                    
				WHERE idllamado = 13744			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 11:21:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13744			
				
11/08/2026 11:21:32 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/08/2026 11:21:31 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-l7fMyokHkBv6UQg94o1-OorWGHx-Pwx-2tdt0WQlvxR85l3MnJQ
11/08/2026 11:21:31 Detectado modo MULTIPART/FORM-DATA
11/08/2026 11:21:31 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786461691.png
11/08/2026 11:21:32 Envío correo: OK
------------------

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:21:34 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:21: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/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:21:34 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

[11/08/2026 11:21: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:21:34 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:21: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/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13744
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13744
                and cs.estado_control = 1;
                

11/08/2026 11:26:25 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:26:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 11:26:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:49 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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/08/2026 11:27:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:49 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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/08/2026 11:27:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:49 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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/08/2026 11:27:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:50 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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/08/2026 11:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:53 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

[11/08/2026 11:27: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/08/2026 11:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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/08/2026 11:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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/08/2026 11:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:54 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[11/08/2026 11:27: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;
                

[11/08/2026 11:27: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;
                

11/08/2026 11:27:54 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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;
                

11/08/2026 11:27:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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;
                

11/08/2026 11:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

11/08/2026 11:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:27:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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;
                

11/08/2026 11:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:27:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:27: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;
                

11/08/2026 11:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:27:59 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 11:27: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;
                

11/08/2026 11:27:59 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 11:27: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;
                

11/08/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:07 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:28: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;
                

11/08/2026 11:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:28:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:28:07 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:28:07 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:28: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;
                

[11/08/2026 11:28: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;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:28:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:28:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:08 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:28: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/08/2026 11:28:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:28:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:28:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:37:53 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:37: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;
                

11/08/2026 11:37:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:37:54 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:37: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;
                

11/08/2026 11:37:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:37:55 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 11:37: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;
                

11/08/2026 11:37:55 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 11:37: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;
				

11/08/2026 11:37:56 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:37: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;
                

11/08/2026 11:37:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:37:59 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:37: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/08/2026 11:37:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:37:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:37:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:37:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:37:59 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:37: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/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:37:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:01 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:38: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/08/2026 11:38:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:38:01 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:38: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/08/2026 11:38:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:02 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

[11/08/2026 11: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;
                

11/08/2026 11:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:38:02 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:08 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11: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;
                

11/08/2026 11:38:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:08 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11: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;
                

11/08/2026 11:38:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13724
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 10:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:38:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:38:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:40:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:40:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:40:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:40:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 11:41:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-56tYt0LnmCk9sx.xe9aDTeU+PmHVnSZGuCAzjfxiyAlmAea7rn5
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76423913",
    "serieinterna": "EP2532",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de 3 juegos de tinta epson\n•Entrega en bodega\n•Recepciona Alejandro Vasquez",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13724",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClAJIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA9EAABBAEBBgMEBwcDBQAAAAABAAIDBAURBhIhMUFRE2GBInGRwRQjMkJSsdEVFiQzoeHwRGLxVmOCwtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBgQGAwEAAAAAAAAAAQIDERIhMQQTMkFRYSJxscEUgZGh0eEzQvDx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgIXaK\/kcYyvbqxtkqxv\/iGge0R8h5+5SVK7XyFVlmtIHxvHA9vI+a3Oa17Cx7Q5rhoQRqCFUXNm2NyZlaHSYm0\/wBoczE7\/PiPcrElJW5mWpKVKeJ5xevb9FwReIZY54WTRPD43gOa4ciF7VZq1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAtNqtDcrSVp2b8Ug0cFuRDjSasyo0bE+yV39n3nF+OmdrBPp9g+fz+KtrXBzQ5pBBGoI6rRepQZGo+rZZvRvHqD3HmqzQu2dlr7cXk5N+jIT9HsHk3y93cdPcrOPPmZE3s7wvh5du3kW5FgEEag6grKrNgREQBERAEREAREQBERAEREAREQBERAFx5PGVstTdWss1aeLXDmw9wlTLUb00kNew10kZIcw6g8OfA89F2LuaZDw1I21RVMRkrGAtNwmXIEf8AprGvska8ie35e5WtQW2FGW7g3eBE2R8Lg8gjV26Oe75\/IKE2a2rNSGOpky4wE7sM\/Pd0+6fIcPdqOitccaxLUxxrKhU3U3lyfsXhFhrg5oc0ggjUEdVlUm8ItD7tWO0yq+xGJ5Psxlw3j6ei3ocTT0CIiHQiIgCIiAIiIAiIgCIiA+f7UU5cNtDFfo\/V+Od9hA4B\/Ij14H1KtmDzcOaql7R4c8fCWI\/dP6LxtNjf2lhJo2t1liHiR8OOo6eo1Hqq3C21LWi2mxQBssBZch575HM6eY0JHqr8pwV9TzPFs9d4eF529beXoXtUjLY2vhsvrPCH4q8fbbr\/ACn9x2I5jy1CtWKytbL022K7vJ7DzYexWcrjosrjpakvJ41a78LuhUIvC7M1VoKtTvHN6r\/dyuV71vZKy2neL7GMefqJ2jUs8v7fBSub2igx1COSs5liax\/Ia0673nwUJUztaDZ+zjczEJZ6h8NsT+Jk56e7TTn20UNVMmz1ynesRxSPe3fFZ2u8xp5HsPLqrcF3d\/8ATB8Q6ccMHk\/rH\/ci27P7PvrSnJ5N3jZCX2va4+Hr8\/y5BWFceMylTLVRYqP3hyc08HNPYhdiok23menRjCMFg09QiIoloRY1GumvFZQBERAEREBg66cOaicNnRk7FmrNXNWzXdxic7UlvLX4\/mFLqo7Z0X1SzNVJTFMB4MhbwJBBAPv6fDspwSbszPXnOmsa0Wq7FuRRmzjmPwFRzZBITGN5w\/F118+ik1FqzsXQliipdQqrh3jEbWXsW47sNk+LCNNBrz0HpqP\/ABVqVa2wrOihq5eBms1KVpJ\/269fXT4lThrbqUbSmkqi\/rn8uZpzFCfA5EZrFx\/Uu1+lQt5adTp2\/I+9S8+0NCHDjJiTeicPYaD7Tnfh07rurTx3qUU7RrHPGHAHjwI5FUnL4OvhMvBblgfLinSauYDr4Z7Hy5e\/TRSjaWUtSmpiopzp8L+3fyOe1DfEsW1F2rGY3ztJg3fudCf1PkVcbMeGzAgZZFeZ80e\/CHEB5bp06\/8AHkuXP5jHRYbcIbZFtm7DEzjv68j5afmoTYyrFHl52XWPbfrsHhtefst00OnnoR6FSd5RxaWKo2p1d2vEpa36\/vkjts7Hy03mzgrskEwGm493A+v6rxV2rvY2dtTaCm6M9Jmt0189BwPvCty02Kle2wNsQRygHUB7QdPcq8d8pZml7Nhd6Lw9uX0NjXNewPadWuGoPcIvSKs1lG2sjv4rNx5atK9scgAa4HUNdpxbp2OmvnxViwGfizcB+rMdiNoMrNOHHqD24KQu04b9SSrYbrHINDpzHmF8\/krX9jczHONZIHHQOHASN6g9ir1acbczzamPZqu8XA9ex9HRaalqK7VjswO3o5W7zStyoPRTTV0EREOhVjbYmaDH0GnjYsjgOZ04f+35KzqsbTAfvDgi\/Xd8fhx67zf7KynxGbav4mutvU0Y979mM+cZKSaNx2tdxP2T\/nA+hVuUVtFihlsU+No+vi+shI57w6eqjMDtbHafWx1uORtojcdIRwLhy166nr5rrWNYkQhJUJ7uTyen4LQtNquy3UmrSfYlYWH3EaLciqNbV1Zlb2MsSNp2MbPqJacpbo48gf7g\/Fdm0mVp4\/HPisME0k7S1kHV3n5BQOVuu2e2tnsVmNlNqHUxDo48OPXmAfPVSmDwUxn\/AGtmD416Ti1ruUQ6cO\/5K+SV8bPPpzm47iOqyv0RXMbXk2byFW5mKDjDIPq366+Ee+nfy+YVzZjqNvJQ5qB29IWaB7TweNCPn\/Rd08EVmF8MzA+N40c09VVnU8vsvMZMcHXcc5+prcS9uvpw949QuOWPszqpfDq1rx17p+5bUXDiMm3LUzYbBJDo8sLJBodR\/wAruVTVsmboyUldaBERcJBc92lXyFV9azGHxvHEdvMea6EQ40mrMpFW9PsdlHY60TLQlO+x+nFoPUfMfDzukU0c8TZYXtkjeNWuadQQovaXDjMYtzGD+Ii9uI9z1HqPkqjs\/mL2GrmURusUd\/dmjHOI9\/LX4HRX4d4rrU85VHs1Tdy4Xp2PoqLnpXa+Qqss1pA+N44Ht5HzXQqD0U01dBQG19CS1i22YN7x6bvEaW9uv5A+in1ggEaEagrsXZ3IVIKpBxfM48Vkostj47cXDeGjm\/hd1Cr2Ygbgdo4M2Iw6tO7dnAbruOI5j38\/Q91ZqlGrQidFUhbCxzi8tby1KxkKMWSoy1Jh7EjdNfwnofQqSklLsVVKUp00nxLP5m9j2yRtkY4Oa4AtI6hV\/MbSPE\/7OwrPpV0kglo1EenP3n+gUDVymYfC7ZukWvlY90YsNdyjB4\/89lbcJg62FqiOIB8zh9ZKRxcfkPJScVDNlUa09oVoZLm\/ZFWyuAlw+Ohykkz577bDZJXgnh14eoHEq9RyNljbIw6teA4HuCj42St3ZGNeAQdHDXivSjKbksy+lQVKTw6OwREUC8IiIAiIgCgMllLuK2hrmd4djbQDPs\/y3dyfeR6e5T6jNoMW3LYmWDQeK0b8R7OA+fJSja+ZTWUnC8NVmSaqOWi\/d7aBmVYwmjcJZZYBqNTzJHnz9CpbZfJOyWGjdJr4sB8KTXmSAOPw0Xbk6EeSx01STlI3QH8J6H4qS8MrMhNb6kpQ11RXLmHuYG0ctgj4ldw3pa+uoLefDuP6hTuJzdLMw79aT6xoBfE7g5n6+8Lg2RvySUpMbZ4WaDvDIPMt6fDl6BMvsyJ5Texchp3G+17HstkPn5+alKzdpfUpp4ox3lJZPVfj8FgRV3F7Tnx\/oGai+h3AQASCGv8A0\/JTtmzBTgdPYlbFGwalzjoFW4tOxqhVhOOJP9eZ7c5rGF73BrWjUknQAKqXcpe2jtuxuGJjqA7s9rTgR+n9T7l5cbu2VkiN0lTExnQnk6U\/P8grPSpVsfWbXqxCONvQdT3PcqeUNdSi8toyjlHr18uxWMrs2MRRr38TvfSaXtPPMyDqT+nZWPF5GLK4+K3CRo8e038LuoXWQCNCNQVU2uOyWdMbuGLvO1B6RO\/t+XuS+NWeocVs88Syi9e3R\/ktqLAII1B1BWVUbAiIgCIiAIiIAiIgK1SfFhNpp6LmeHHfd4kR+7r2HQfDtxVlUNtNjDex\/jwN\/iqp8SJw58Onz9F0YLLMzGMZYGgkHsytHR3VWSzWIzUnu5um\/Ne5oOJmi2obk4HhsUsZZOwD7R04Hn5D4KYRc927Xx9V9mzIGRsHE9\/Ieag22WqMaab+Zx7QVsXNjZH5QBsbBwkHB7T\/ALT38lRoA9z6TMxJb\/ZBeRC48tOnp8tdFYalSztVcbkMgwx46M\/UVz9\/zKsluhWvU3VJ4g6Fw03Rw07adlcpYMmYZ0ntD3iyXLv59jZXZDHXjbXaxsIaNwM+zp5LYqlSt2NlcgMbkHmShM7WCc8AzXoew7jpzVsBBGoOoKqlGxspVFNWtZrVdDK48pjocrQkqTcA4ey7TUtd0K7EXE7ZlsoqSsyC2YlyEcE2OyELw+mQ1sp5PaddND100+GinURJO7uRpwwRUb3sERFwmEREAREQBERAFrgrxVo\/DhjDG6k6DuVsRBY1zTRV4XzTPDI2DVznHgAqnDFNtfl\/pMzXNxNZxEbDw8Q\/5z7Dh5rq20kkFapA50kdSWbSxK1uoY3hz+J+ClqmQxEcDIKtyq1kY3GsEoGmnDlrqrV4Y3WpjqNVamCTsl9\/0d7WhrQ1oAAGgA6LK8tc17Q5jg5p5EHUFelUbDkyeNgytF9SwPZdxDhzaehChtlr08Es+CvECepwj6bzP80PuKsirG04bSy+LyUe8JfF8J26dN5vY\/E\/FWQz8JlrrA1VXLXyLOiIqzUEREAREQBERAEREAREQBERAa5oYp4zHNG2Rp6OGqirGyeFsO3jU3D\/ANt5b\/REXVJrQhOnCfErnG7Ymq0n6Let12n7rXDRYOyd1mvgbRXIwT3cfycERS3kupT8LR6epj91sr\/1Pc+Dv\/tdFHZZkFxly7fnvTR\/YMhPD4k\/5rzRE3kjq2akne33ZPoiKBoCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "PROACTIVE",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "NATALIA SANDIVARI",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29584\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29584\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"29584\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"29584\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "11:40",
    "ubicacionGPS": "LatLng(lat: -23.6151223, lng: -70.3861394)",
    "horaLlegada": "11:36",
    "horaDespacho": "09:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 11:41:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 11:41:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76423913

[11/08/2026 11:41: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('76423913', 'EP2532', 1, 24456550, 0, NOW(), 
				'09:48', '11:36', '11:40', 10, '•Entrega de 3 juegos de tinta epson
•Entrega en bodega
•Recepciona Alejandro Vasquez', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786462899.png', '', null, 'COMPLETADO','LatLng(lat: -23.6151223, lng: -70.3861394)' )
				
[11/08/2026 11:41:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201433
[11/08/2026 11:41:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201433', 'EPS-I302', 3)
				
[11/08/2026 11:41:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29584 and
				    IDproducto = 'EPS-I302'
				

11/08/2026 11:41:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I302';
                [11/08/2026 11:41:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201433', 'EPS-I303', 3)
				
[11/08/2026 11:41:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29584 and
				    IDproducto = 'EPS-I303'
				

11/08/2026 11:41:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I303';
                [11/08/2026 11:41:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201433', 'EPS-I304', 3)
				
[11/08/2026 11:41:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29584 and
				    IDproducto = 'EPS-I304'
				

11/08/2026 11:41:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I304';
                [11/08/2026 11:41:39] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201433', 'EPS-I305', 3)
				
[11/08/2026 11:41:39] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29584 and
				    IDproducto = 'EPS-I305'
				

11/08/2026 11:41:39 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I305';
                
11/08/2026 11:41:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201433'                    
				WHERE idllamado = 13724			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


11/08/2026 11:41:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13724			
				
11/08/2026 11:41: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/08/2026 11:41:39 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-56tYt0LnmCk9sx.xe9aDTeU+PmHVnSZGuCAzjfxiyAlmAea7rn5
11/08/2026 11:41:39 Detectado modo MULTIPART/FORM-DATA
11/08/2026 11:41:39 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786462899.png
11/08/2026 11:41:40 Envío correo: OK
------------------

11/08/2026 11:41:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:52 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:41: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;
                

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:41:52 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

[11/08/2026 11:41: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;
                

11/08/2026 11:41:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13724
            GROUP BY l.idllamado;
            

11/08/2026 11:41:52 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:41: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;
                

11/08/2026 11:41:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:41:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13724
                and cs.estado_control = 1;
                

11/08/2026 11:42:04 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 11:42:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 11:42:04 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [RutCliente] => 16524375
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 04/08/2026
        )

)
[11/08/2026 11:42:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 11:42:07 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:42: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;
                

11/08/2026 11:42:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:42:18 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

[11/08/2026 11:42: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/08/2026 11:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:42: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/08/2026 11:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:42:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:42: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/08/2026 11:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:36 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:42:36 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

[11/08/2026 11:42: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;
                

[11/08/2026 11:42: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;
                

11/08/2026 11:42:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:42:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:42:36 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:42: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;
                

11/08/2026 11:42:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:42:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:42:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:42:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:45:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:45:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:45:30 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:45: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/08/2026 11:45:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:45:30 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:45: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/08/2026 11:45:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:45:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:45:30 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:45: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/08/2026 11:45:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:45:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:46:51 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:46:51 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:46: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/08/2026 11:46: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/08/2026 11:46:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:46:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:46:51 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:46: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/08/2026 11:46:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:47:18 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 11:47: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;
                
[11/08/2026 11:47: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;
				

11/08/2026 11:47:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 11:47:18 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 11:47: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;
                

11/08/2026 11:47:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:47:27 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:47:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 11:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:47:27 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:47:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 11:47:27 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 11:47:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 11:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:47:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:21 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:55: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/08/2026 11:55:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:55:21 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:55: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/08/2026 11:55:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:21 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

[11/08/2026 11:55: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/08/2026 11:55:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13745
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3127
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 11:56:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+RCvS.6Y4U6lSAyqAqxKOL-7p8yz8KoFNCQAkPgdBIuagHE5nWG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3127",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "303",
    "contadorColor": "960",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13745",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADrAQUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMCAggEAwQHBwUAAAABAAIDBAURBiESMRMiQVFhcYGRFKGxwRUy0RYj4fAkM0JDUpKiJmJkcrLC0jREVWXx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwUGBgIDAQAAAAAAAAECAxESITEEIkFRYRMycYGRoRSxwdHh8DNSI0LxYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREARFHra6mt9O6eqmbGwdp5nwA7UONpK7JC5zTRU8ZknlZEwc3PcAB6lZr9o7peHmKx2\/hjzg1M\/IfYfPyXSn0iaiTp73WyVsjtywEho9eePLCswW7zM3buf8Ub9dEdqvWNsgf0VN0lbMTgNhbsT5n7ZUc3bVFaP6JZmUzT2znce5Hh2K\/pKCjoGcFJTRwjGDwNwT5nmVIXMUVojvZVZd6dvD8mYFq1VOC6e8xRHOwjHL2AT8D1J\/8AP\/6StOiY2PhocW\/VmY+D1hTuJjuFNUN7A5oB\/wCn7r5+N6joRmusgmYBkugd2d+2VqETHzQ+Ha7s2vf5lBR6xtVS7o5nPpJAcETDAB8x98K9Y9kjQ9jg5p5FpyCo1ba6G5NArKWObAwCRuPIjcLPzabuFmLqmwVkmMlz6eQ5Dh3DbBPnv4rtoy0yOYq1PvLEumvoatFS2fUcVxlNJUxGkrWkgwuPPAycforpQaadmXwqRqK8WERFwmEREAREQBERAEREAREQBERAEREAREQBF4lljhidLK8MYwZc5xwAFlZ7ncNUTupLRx01E04lqnDBd4fw59+FKMWymrVVPLVvREy6amLaj4CzxCtqzscbtZ+q5UOlpKqo+Pv03xU53EIPUZ4fwG3mre02ajs9P0VMzrEDjkP5nnx\/RT1JytlErVFzeKtn04L7nljGRsDI2hjWjAa0YAXpEVZqCIiAIiIAiIgCIiApdQWH8TYyqpX9DXQbxyDbi8CfovWnb0brSvjnbwVdOQyZpGMnvx5gq4WWuYFp1hQ1sTA1ld+6l3xk5A+7T6KyO8sLMlRdlNVFo8n9zUoiKs1hERAEREAREQBERAEREAREQBERAFzmmjp4XzTPDI2DLnOOwC9kgDJOAFkK2aXV1zbQ0bi220zgZ5eXGfD7e6lGNymtV7NZZt6IONXrKt4W8dPaIXbu5GU\/z7ea1VNSwUdO2CmibFEzk1q9Qwx08LIYWBkbBhrWjYBdElK+S0OUqWDelnJ6v94BERRLwiIgCIiAIiIAiIgCIiALMasBmuVmpm54pKg8uYGWg\/VadZWBwvmtXTsy6ntrODOdi7J++f8AKrKet+Rl2nOKhxbX3NUiIqzUEREAREQBERAEREAREQBERAERV97u0Vmtz6l+HSco4yccbv53XUruyIykoRcpaIq9SXCoqKiKxW4n4io\/rnAfkYe\/u8fDzVxa7ZBaaFlJTjqjdzjzc7tJVXpa0yU1O65VpL62rHEXOO4YcEA+Pb7dy0ClJ23UUUYuT7Wer06L91CIigaQi41dVFQ0klTOcRxjJXqCeKpgZPC8PjkHE1w7Qljl1e3E6IiIdCIiAIiz951G+CqFttUQqq52QQNxH5+P07V1RbdkV1KkaavItq+40ltg6asmbE3kM83HwHaqF2orrdZHRWS3ER9lRMMDz7vqutBpXpJfi75Oa6oPJhceBv6\/RaJrQ1oa0AADAA7FPdj1KbVaurwr3\/BmG6avNU0PrdQTtfjdkWeEfMfRDo+pA4mX6rbJnPFv\/wCX3WoWevOo3xVAt1ojFVWvBHV3Ef6n6dq6pTbsiFSjQpxvO\/q7lLcrhfLHN8C25trZZmHYMJfH3HzI8+SvNHNom2RgpHcUh3nJbg8fd5dy62Kw\/hxfV1j\/AIivm3klO\/D4BVtzi\/Zu\/RXeFvDRVJ6OojYNmnvx8\/MHvUm1LdRTGE6TVWWnLWyf7maxF5Y9skbZGODmuALSO0L0qD0wiIgCIiAIiIAiIgCIiAIiIAslGf2n1OJmu4rdbyOHniR3P6\/IeKsdV3J1Da+ghP8ASaw9FGM4ODzPzx6hTLJamWe2R0jSHOBLpHgY4nHt+g9FYt2NzLU\/y1FT4LN\/RfUsERFWagiIgM1rKV81PSWqHBmrJgMdoA\/iR7FaGCFtPTxws\/LGwNG2NgMLMWsNvWr6u4ua4w0Q6KHPLO4z\/wBR9QtWrJ5JRMtDflKpzyXgvyERFWagizsN8qrvfRS2wN+CpzmeYjPHvyHnjbv3XzUN3nlmFktOX1ku0j2nHRN8+zbt7FPA72M72iGFyXh4voc7reKq6Vps1jd1v7+oB2YORwfv7K0s1jprLTlsX7yZ\/wDWTOG7z9h4L7Y7NDZaAQR9aR3Wlk\/xO\/TuVi5wa0ucQABkk9iSl\/rHQ5SpO\/aVO98j6uVTUwUcDp6iVsUbBkuccBUdy1ZBFKKW1xfiFS7kI92j1HP091wpdN1tyqGVuoKkyEHIpWnqt8Djb290ULZyyEq93hpK79l5nKW7XTUkjqazRupqQbSVL9iR4d3kN\/JXdmsdJZYCyAF0jh+8ldzd+g8FPiijgibFCxscbBhrWjAAXtHLKy0O06Nnjm7y+XgFX32i\/ELLVU2Os5hLP+Ybj5hWCKKdnculFSi4viU2lK0V2n6ck5fCOif5jl8sK5WY0aeB90ph+WKpOPmPstOpTVpMq2aTlSi3+2CIigXhERAEREAREQBERAERUmq7i6hsz2RE9PUnoo8A53548cLqV3YhUmqcHJ8Cvtzv2g1ZNcPzUlCOCE9hPf8AU+WFq1XWG2C02mGmwOkxxykdrzz9uXorFSm7vIroQcYXlq82ERFAvCqtR3I2uyzTNcWyPHRxkdjj2\/Uq1WTqnjUWrIqWNwfRW8cchB2c7wx44HoVOCu7sz7RNxhaOryRb6btptdlihe3hlf+8kHc49noAArVEUW7u5dCChFRXALN6iuVRUVUditjyKmYgTPA\/q2Hx7Njk+Hmri63GO1W2askGejHVbn8zjyHuqTT8MVsopL1d5RFU1ZLi6U4IbnYY8cZ9lOCtvGevLE+zTtzfJfk71b6TR+nyynGZX5awncvkI\/MfAY+y96ctjrZRS11e\/FXU9ed0hHVGTgZ9cn+CzEt2nvOpPiYbf8AGiHLaeLfAGdnO+vZ57K7bp253lwmv1c5jOYpoCMN8zy+vmrHGyzZlp1Mc7043SyXLxudq\/WEDZfhbVA+vqDsOAHh\/U+nuo8dhvF6Ikvla6KEnIpoT9ez6rQ0Fso7bF0dHTsiHaQN3eZ5lSlXjS7qNXYSnnVd+i0\/JFoLZR22Lo6OnZEO0gbu8zzKlIirbuaVFRVkEREOhERAZjSnVu99jHJtTt\/mf+i06zGketXXmTnxVP5u\/d3b6rTqdTvGbZP4V5\/NhEWP1Beqi61gslny8k4lkadj3jPcO0\/yeRi5MnWrRpRu\/JczWQVENTH0kErJWZI4mOyMhFFs9qhs9vZSxbnnI\/G73dpRcdr5FkHJxWLUnIiLhIIiIAiIgCyrHG\/6xLhk0lrHV7i\/PP1I9mgq7vdf+G2eoqgQHtZhmf8AEdgoek7e6gskZlbiaoPSv79+WfTCsjlFsy1d+pGnwWb+nuXaIirNQRFwrKuGgpJKqofwxRjLihxtJXZV6nvP4Xb+jgOauo6kTWnrDP8Aax\/O676ftDLNbGQc5X9eU\/72OXkFQWyqgmrXajvdQyAjLKaE8w3vAG55ns7ypsmrpKt5isttnq3A4L3Nw0e33wrnF2wrzMEa0HPtJvwXG3O3U0yqrjqW1W0ES1IlkBx0cJDnevYPVVTbNqG7YddbkaWIk5ggO+O7bb3JXeptdp0zaZquOnbLMwdSSbDnF3ZjbA9AoqMb2buWSq1XFtLCub+xR1dXXazuDKWlhbBDAOIiQ5wc4yTj5LnedPmkkpaZ1TJWXGreADxYaxvLlucePZhafSdsdQWoTzD+kVZ6WQnnjsHsc+ZKg2gm76vrbieIw0g6GHI2HZt\/qPqrcdm7aIxuhijFzzlP2X\/DQW6gitlDFSQ7tjG7sAFx7ScKUiLM3c9dJRVkEREOhERAERRrhXwW2ikq6h2GRjl2uPYB4lFmcbSV2SC4AgEgE8h3rxNNFTxmSeVkTBzc9wAHqVg4L3UNuQvVcXOlcwtpKRn9oHbPg35kqbUWu5XSjqLnfZXxQxRukipGHGCBtnu+qt7O2rMS2vEngjd\/TmyHYNQChFVFT0ctVUVM7ntY3ljG3Znmrn8Z1MWmQWFoZnYF\/W9s5+S76LpxDp2KThAdM5ziQME7kDPsuOodRmB5ttteHVbgekkB2hAGSfMAE+GFJ2c2kimClToKUptckrcSurdTV17DLXbaSSnqJSWzcR3b3jPYO8rQ2KxU9kpeBmHzvH7yXHPwHgqfQdBJHS1FfJynIazPMgZyffb0WtUajS3Y6F2ywc0q1TNvTogiIqjcEREAREQBEXxzg1pc4gADJJ7EBl9Th11vFvskWC0u6abwHj6cXuFqGtDWhrQAAMADsWX0vGbhdbhfJG9WR5jhJzy7efgGj3VpcdS2q2giWpEsgOOjhIc717B6q2SeUVwMdGcUpVpu1\/ktC1USsulDQSxxVdSyF0gJbxHHL6LPyXq\/3RsjqCiFDShpd8RUA5A7x\/AFVtktUV3bU3W91Mk1PCeBr3vIDgOZzzxy9SUVPjIjLam2o01rxeSLmu1tboA5tGySreBnLRwsHmTv8lUs\/Gdahwc9lLRRnkAcOd9yvUNIdSSmnt9MKG0xEBz2tAdKQe3v8uzOStpT08VLAyCCMRxsGGtbyCk3GGizK4RqbQ997vTK\/wBbFHQ6LtVLh07X1cgxvK7q+w++VbVNTR2midNKWQQs5BoAye4DvXm53OmtNG6pqX4aNmtHN57gs7b7dVanqW3O7gspGnMFOCcOHefDx7fJQzlnJ5FzwUn2dKO8\/wBuyZQ6ujrK2CB9BNTx1Li2KV56rv52G2ea4aqzcLrbLM3lI\/pZBvy5dngHL7qhobetPNaAAKnAA7OtGvtnH4hrC6Vzt202IWEch2f9p91NJLeRTKU5N0ZO+a9LXZb3msbbLLUTtwzgZwsxtgnYYx5qJpKhbRafgOMPqP3rj355fLCia0e+eKhtkR69XOOzOw2+pHstIxjY2NYwYa0AAdwUHlDxNEd6u3\/VW9T0iIqzUEREARFCul1pLRSmeqkx\/gYPzPPcAupXyRyUlFXeh1ra2nt9K+pqZAyNg3Pf4DxX53cL1UX65AmF0jGnFPSgZBPee\/8AkLhdLrXajuDBwHc8MMDDnh\/U+K22m9NxWaHppgH1jx1ndjB3D9VoSVNXep5Mqk9snghlFcTzYdOChcK6vPTV7xkknIj8B442z6BdNX1XwunZ8Y4piIxk9\/P5Aq4lljgidLM9scbBlznHAAX59qvUEN3ljpab\/wBPC4u6U565x2D+fRQgnOV2aNolT2eg4R1ZJqdRuoLTTWe1npJxEGSSsH5XHmG95yTv91GFsMEsdmpnCS4VePjJRv0Dcg8I39T7dqg2dsrZA2hiE9wmGIscoB2u7s93ct7YrIyzwOL5OmqZTmWUjcnuzzxnvVkmoaGOjCe0PPT5Lkur9iwpqeOkpoqaFvDHE0NaPALqiLKe0lZWQREQ6EREAReXvZGwvkcGNaMlzjgBUFXquN8xpbPTPuFR3tHUb4k9v08VJRb0K51YU+8y\/e9kbC+RwY1oyXOOAFk9R6rpJqOa3UBdPLMOAvZ+UA8wO\/u9VJZp6vurxNfq0ubnIpYTho8z\/PmoctFR1GsKW20lNFHBRN6WUNZ+Y7Hfv\/sjfvKsgop55mOvUqyjZKyeWeufyPFs03e5qVlNV1bqGkZn91E4cT87nOPuT5K\/t2mrVbQDFTCWQHPSTAOd6dg9FYzTw00RlnlZFG3m55wAs5U6mq7jOaTT9K6ZwOHVD29RviP4+y5ecyXZ0KFr5vhxfkedcXT4eijt7HEPqTmQjsYD9z9CoVttFdfaenjqGmjtMGOjhGzpT2n1338dl5sVrfLqypbcXiqkpmcT3P6wLzjGM9gyfZbhSlLAsKK6dJ7RN1J5LS3hz8znDDHTwshhYGRsGGtaNgFFut2pbRSGoqX7\/wBhgPWee4KNetQ0tnb0f9dVP\/JAzmfPuVfa7HV3Csbd791pf7qnI2YOzI+3vuq1HjI0zqu\/Z0tfZfvI52+zVV+qhdb4CI85gpewDxHd9e1aoAAYAwAvqrNRV8luss9RDxCXHCxzW54Se1G3N2JRhGhBy82+LKLVVZHHqO2NkdhtKDO73zj\/AEKZoiFwtEtVJkvqZnOzjGQNvrlZVlEH1NxfUyCpfFR9KZM83u4fpxHzx4rcaXjEem6Jo7WF3uSfurZ2jCyMGzN1Noc31+iK6q\/pmv6WM7tpYC8jxwf1C06y9mxU62u1TnPRtEXrsP8AtWoVc+CNuzZqUubf2CIirNIRVd01FbrSC2ebjlH91Hu717vVU\/DfNUYcSbbbz\/ZBPHIPv8h5qag3m8kZ514p4Y5vkvryJl11RHDJ8Fa2fG1rjwgMGWsPj3qjulC+30j7lep\/iLnOC2ni5tZ3nu2znHLPetdbLPQ2mMspIQ0kdZ53c7zKyGtnv\/HIHVED3UsYAGDjjHNwB79\/p62U2sVkY9qjNU3Oo8+C4LqWWjbH0MQu1W0meXJi4jnDSPzeZ39PNXF1v9BZ2f0iXil7IWbvPp2eqqGS6nvHAKeOO10hbgO\/tEeHb5bBT7Xpeit7zPNmrqXHJlm3wfD9ea5K17yZbRxKChRjZc39isFDc9SyCpupNFbmnjbTh2C4Y5k\/c+wVNT2KTUVdPPb2RU1CyTo2kjGAPDtON9+9arVl0+AtZgid\/SKo9GwDmAeZ+3mQp9lt\/wCF2mnpCG8bG5eW8i47ldU2o3K3s8KlTA87Zt\/JHOzWOkssBZAC6R355Xfmd+gVkiKltt3Z6MYRgsMVZBERcJBERAFR3fU9PQTfCUsT6ysOwijGQD4kfQfJV+p9QyR1f4RSzCmJ2mqHZw0Echj6rnarppmx056GpfU1Dt3y9C4OcfDI2HhlWxhldow1NpTk4RklbVv6IkQWC43lwn1BUvDM5bSxOw0eeP8A98VoaSjpqGEQ0sDIWDsaMZ8+9Z92tOnJbbrTV1R8sfTK8ufqy69VkcVticDuT1vuc+y61J65HKdSjDuJyfPX3NFV1tNQQGaqmZEwdrjjPgO9YGzXqtFbWzUVC6prqx+QSSWxtyTy9e3HJSb\/AGCK2251TVVU1dXVD2sjLjjB5k45nkR6hbC00Qt1rp6UDBjYOLYbu7eXiiwxjzuRaq16qT3cPnqUMOlqy5Sipv8AWvlPMQRnZvryHp7rS09NBSQiGmhZFGOTWDAXVFXKTepsp0YU81rz4mUqjWWHUNZXQ2+WshqmAjgPJ223L5L10+qbx1Y4GWuAjd7\/AM\/6\/ILUopY+hV8O7tYnbl+dSms+mqW1yGokeaurccmaQbjyG+PPmrlEUG23dl8KcaawxVgo1fQw3KikpKgHo5Bgkcx3EKSi5oSaTVmflnQ1tHBdYqdompmOEE0xG4AdsQM7Zx4rTWbWFsp6Cmo6hs0DoomsLi3iacDntv8AJcobXV02k7uKuLoppZC\/BI3Awc591NbJCdBNnfEx5ZSFreNoOHflzv44WmTUteZ49GE6bvF2yvmupB0rd7fTtr6msqo4ZamoLsPO5HPPu4q+dqaysaXG4RYHdkn2AVdp3T1tlsVNNVUkcssjS8ucD2k4+WFaN07Z2OyLfDnyyoTcHJmqhHaFTilb34lXJrOOeQxWu31Fa\/wGB57ZK5Oo9UXp4bVzMttP2tiPWPsc+5wtRFDFAwRwxsjYOTWNAC9qONLuot7Cc\/5JX6LJfcqLbpm1W3Do6cSyj+8l6x9Oweit0RQbb1L4QjBWirBRrhQU9zpH0tSzijd3cwe8dxUlFzQk0mrMyzbTqGzZFrrI6qnz1YJtuEdgGT6cx+nyW86pponSVFngDIxxPc12wH+YrVLK36snvVxGn7c7GDxVUoOwHd6Z38cBWxlieaMNWmqUdyTXJf8ASppqm+3e6tvUFvbOI8siY53UYcY2yR3+\/krnp9Zy\/wDtKOHPiDj\/AFFaCjpIaCkjpadnDFGMNC7o6ieiJU9laWc3d625+hmP9s\/+D+Sf7Z\/8H8lp0UcfRFnw\/wD7l6mYH7Zk4zRjx2WlbxcA48cWN8csr0i45X4FlOng4t+IREUS0iVVqoK2YTVNLHM8N4QXjO3PHzX2O2W+EgxUNMwg5BbE0fZSkXbsjgje9j4AAMAYAX1F5kkZFG6SR3CxgLnHuAXCRmrmBddZUVDjiiomdNIDuM7H\/wAeff76dZrSMb6qSvu8ow6qlIZ2YaN+XqPb30qnPJ25GbZ84uo\/9nfy4BERQNIREQBERAEREBznhZUU8kEgyyRhY4eBGF+eyVclPpOotMuRNHWCPg5Hh3Pr1mn5L9GWN1ZZxTXCG9QwmSPpGmojZzyCN\/DPLzx3q2k1ezMG2wlhxx6p+DNZSQCmo4KcYxFG1mx7hhdlwpKynr6ZlRTSiSN42I+h7iu6rZujaytoERFw6EREAReXvZGwvkcGNaMlzjgBZmt1JUXKd1vsETpXHZ9TjZg7x+pUoxciqpVjTWevLid79f5I5TarUwz18gwSz+7\/AI\/RTLDZY7PSEHr1Ep4ppCcknuSx2KCzQkg9LUybyzO5nwHgrVdk1bCiunTk5dpU14Ll+QiIoGkIiIAiIgCIiAIiIAqLWFcaSxvhjBMtU4RNDeeDz+W3qr1ZW4t\/Ftb0lEQHRULOleCM77H\/AMFOCzvyM+0yap4Vq8vUvrVRC32umpBzjYA7lz5n55UxEUG7l8YqKSQREQ6EREAREQBERAF4lijmidFKwPY8Yc1wyCF7RAZaS13DTla+ss8ZqqOQ5lpM7jy7\/r5qxt+qLXXNIdOKWVuzoqghhB8zsfqrhQLhZLddMmqpmOeRjpBs73VmJPvGbsp0\/wCJ5cnp5ciayRkreKN7Xt72nIXpZl2hqBsnHTVdVAd+TgcfLK+fsZ\/9xWe65hjzHaV+MPcvqu4UdCziqqqKEdznAE+Q5lUc+sGTyGns9FNXTY2dwkNHj3\/RdqXRtpp5DJKySqfnI6Z+QPQc\/XKuqemp6WPo6eGOJvcxoC7uLqLV562ivV\/YzbLDeL0eO+1pihzkU0JHzxt9StFSUVNQQCClhZFGOxo5+Z7fVd0UXJsnToxg7rN83qERFEuCIiAIiIAiIgCIiAIiIDy97Y2Oe84a0Ek9wWa0e11XNcbvIDmpmwzO2w3+4Hopmrq74LT8wBw+o\/dN9efyyptlofw6z01KRhzGAv8A+Y7n5lWLKHiZZb9dL+qv5snIiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARF8c4NaXOIAAySexAZe85uer7fbhvFTDppBnt5\/QD3WpWY0qDX3C5Xl+T00vRxk\/4Rv58uH29tOrJ5WXIzbNvJ1P7P20QREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqfVNcaCwVD2uIfKOiYQcbnn8sq4XGppKeti6KphZNHkHheMjIXYtJ3ZCpFyg1HVkPT9F8BY6WAt4X8HE8f7x3P1x6KyREbu7nYRUYqK4BERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:55",
    "ubicacionGPS": "LatLng(lat: -23.1008548, lng: -70.4482575)",
    "horaLlegada": "11:43",
    "horaDespacho": "11:20",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 11:56:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 11:56:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 11:56:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3127', 1, 21773342, 303, NOW(), 
				'11:20', '11:43', '11:55', 3, 'mantencion preventiva', -1, 
				'', '','1','960',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786463792.png', '', null, 'COMPLETADO','LatLng(lat: -23.1008548, lng: -70.4482575)' )
				
[11/08/2026 11:56:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201434

11/08/2026 11:56:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201434'                    
				WHERE idllamado = 13745			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 11:56:32 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13745			
				
11/08/2026 11:56:32 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/08/2026 11:56:32 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-+RCvS.6Y4U6lSAyqAqxKOL-7p8yz8KoFNCQAkPgdBIuagHE5nWG
11/08/2026 11:56:32 Detectado modo MULTIPART/FORM-DATA
11/08/2026 11:56:32 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786463792.png
11/08/2026 11:56:32 Envío correo: OK
------------------

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:56:36 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:56: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;
                

11/08/2026 11:56:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:56:36 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:56: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:56:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:56:36 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:56: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:56:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:56:36 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

[11/08/2026 11:56: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;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11:56:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13745
            GROUP BY l.idllamado;
            

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11: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 = 13745
                and cs.estado_control = 1;
                

11/08/2026 11:57:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:57: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/08/2026 11:57:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11:57:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:57: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/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:57:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:57:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:57: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/08/2026 11:57:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 11:57:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 11:57: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/08/2026 11:57:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                
[11/08/2026 12:05: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 12:05:58 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 12:05:58] 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/08/2026 12:05:58 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 12:05:59 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:05: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/08/2026 12:05:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:00 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

[11/08/2026 12:06:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 12:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:00 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:06:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 12:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:01 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:06: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/08/2026 12:06:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:08 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:06: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/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:08 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:06: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/08/2026 12:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:09 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:06: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/08/2026 12:06:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13739
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA REVISIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78828690
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2602
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:07:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:07:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:07:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:07:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:07:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:07:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:08:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 12:08:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jZfc41+wQ-TDRehHF9KRC-IpDg.Zen30X.c47jBE.EeZ9hkWeO-
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78828690",
    "serieinterna": "KY2602",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "79827",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se realiza mantención de rodillos de alimentación, ADF, y fusor\n•Recepciona Katherine Rojas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13739",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACyAQwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMBBQUGBAQDBgcAAAABAAIDBAURIQYSMUFRE2FxgZEUIjKhscEVI0LRM8Lh8AcWUiQmNUOS0lNiY3Jzk\/H\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAzEQACAQIDBgMGBgMAAAAAAAAAAQIDERIhMQQTIkFRYTKRoSNxscHR8BQzQlKB4SSi8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFS3C71FBtBQ0krY20dSCN\/9W909S31V0qXam1m52h5jH59P+ZHjiccR5j54UoWvmU18eBuGqzLpFXWG5i7WmGpyO0xuSgcnjj68fNWK41Z2ZZGSnFSWjCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAs1t3I+Oxxbji3eqGg4PLdctKqPbCk9q2dmI+KAiUeWh+RKnDxIz7Sm6MkuhUbO1H4TeW0hJFJcYmywE8A4jOPqPILZrIOoPxfYekki1qaVhdEW8fdOCPMD1AV3s7dBdrRFO45lZ7kv\/uHPz4+alUV8ynZZYbU3o1dfNfwWijV9dDbqOSqnOGsHDIBceQGVJWW2hb+MX6iswJ7KP8AOnHDI6Dvxn1UIq7zNFabhC610XvPhly2lmpDeIYYnUzsFtKRl27niOf9MK8s14p7zRCoh91w0kjJyWH9uhU9rQ1oa0AADAA5LMXa0VFprTerM05Gs9O3g8czj7eYU7qWWhS1Uo8V3Jc\/qvoahFCtV1prvSNqKd3L32Hiw96mqtq2TNUZKSutAiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC+I5o5m70b2vHVpyo90nFNaquYnG5C4jxxosXYpaqyVFFX1BJpLiNx5P6TvHBOfXzKnGGJXM1Wvu5qNsufY36rr\/8A8Arv\/gd9FYqt2idu7PVxxn8kj10XI6otq\/ly9zMrsbeZqaVls9mfKyd+81zT\/DGuTjpoOisKv\/dW\/trIwfYK9xEzdcRu6j6+GQrXZeMN2doiWje3OOO84+pU64UMNyoZaSfO5IMZHEHkQrJTWN5GOlQnuI55rNdux1knjip3VDnjs2MLy7OmAM5Wc2PjdVOrrzM0CSqlIbrnDeJHzA8lU1N3mp7FNYJMitbKIGjqwnPQAaYHmtnbKJtuttPRtweyYASOBPM+ZyuNYIvuThNV6qa0ivV\/QlIiKo2mZuVjq6CvN2sQDZSD2tP+l\/XT7eisbRevxOi7Y0k8b2u3Ht3dN4AZx3aq1RTcrrMojRwSvF2T5BERQLwiIgCIiAIiIAqLZ+5VNXXXSkqXhxpZyGaAe6Sf2+avVl7fii27r6c5DaqLtG950P8A3KcVdMz1pOM4Ple3mjUIiKBoCIiAIiIAiIgC8JAGScAL1Um185g2cqN0kF5a3I48R+y7FXdiFSeCDl0LoEEZByCvVmdiKt8tuno5SS+llxknkc\/cFaZdlHC7HKVRVIKa5lNtbJ2ezNWQcFwa0ebh9sqNU2cV2xUFKxpdLHAyWMDXLw3OPPJHmvrbZ27s69u9jfkaPHn9ldUjOzo4Gae7G0aeCknaKfcocFUrSi\/2pfEgbNXEXKxwSkkyRjspM\/6gBr5jB81D20qezs7aRp\/Mq5WsAHHAOT9vVQ6J\/wDla+1VPUv3LfU5kie46NP96ddAvaF52m2kbchFihofdj3jq5\/EHHofIKWG0sXIpdRypKk\/E8vq\/I0tFTikoYKYYxFG1mncMLq5zWML3uDWtGSScABfM00VPC+aZ4ZGwZc5x0AWKuF2rNrK4Wu2NMdLnL3n9QH6ndB0H9iEYuTuaataNFJLN8kdLLTxXza2ruoZvU0Lg5hcCMu0Dfpn0W1UW22+G10EVJAPdYNSeLjzJUpJyxM7s9Ldwz1ebCIigXhERAEREAREQBERAEREAWXvB9l22tVTnAlZ2WnM5I\/mC1CzG2zTDTUNez46aoGO7Ov1aFZT8VjNtWVPF0afkzTovGuDmhw1BGQvVWaQiIgCIiAIi8JAGScAID1Zjbpzn2ympmfFNUAD0P3IXWs2qHtfslppH18oBJez4PIjjrz4Korrx+PXW00ZgMUkVQDMx3I5H7H5K6EGmmzBtNenKDhF5vIsKRgtG281PjENdFvRgcj\/AGHeq1Ky+2cb4Bb7pEffpZ+HUcf5fmtM1zXsD2nLXDIPUKM80mW0OGU6fR38zN7dOLrVT07Bl81QAB5H7kLSNaGMDRwAws1ewa7a61UTTvCD854HLXOv\/SPXvV7cq+G2UEtXOfdjGgzq48gEa4UhTa3lSb0Vl5L+yg2tqTVzU9lpIhJWTHeyQPcbg515dfAKDdbHR7O0sdVTXWanq2jDW5BMh54A4fTgotBd5IJ5qsQe2XmuI7JuMiJmNOHMjl0HJX9q2aeZ\/wAQvcvtdYTvBhOWR+XAn5D5q3wK32zEl+Ik2ldv\/VfUqae2X7aiCKW41XY0oIw0twX\/APm3R9T10WrtdppbRSiClZjPxvPxPPUlTUVMpt5cjfS2eNN4tZdWERFA0BERAEREBzmmip4nSzSNjY0ZLnHACpJ9tLPCTuySzYOD2cenPmcdFGucT7\/tI21PcfYqRgll3QdXdM+Bx6q\/prfR0bGsp6WKMN4brRn1VlopZmXHVqSahZJZXKWLbmzyfEKiLX9cY+xKt6K60FwGaSrjlP8ApBw7rwOq7zUtPUjE8EcoxjD2B31VNX7IW2pzJSh1DPqRJCcD\/p\/bCcD7D\/Ij0l6F8iycd0vGzs7YLu01lI4gNqmfoHDU41Pjr3laiCeKphZNBI2SN4y1zTkFRlFosp1o1MtGuR0REUS4Ko2pg7fZysbza0PGvQg\/ZW65VUIqKSaBwyJGOaR1yMLsXZpkKkcUHHqiHs\/Ue1WCil\/9INPi33T9FYrObDSmTZ\/dJ\/hzOaPkfutGuzVpNEKEsVKL7BERRLgiLO1e1FQ2tnpKG0VNU+F2652CBkHuB06FSUW9CupUjTV5GiWXv1XVXW5MsNtk3cjeqZQfhGRp+455AXOpve1NPTPqn2mnihjGXF7skDw3s\/JQtl651BW79dBum5u3m1Dyfe1Og8yPUdFZGDXEY6u0RqNU80nrlbL+zW2y10tppG09MzAHxOPxPPUlZtlPG7\/El7m4G4ztCNOO4B98rXOc1jC9xw1oyT0Cw2zVS65bZ1FaGkNc17tOQ0Az8lyF3iZLaMMXTglzXoa670AuVqqKTTekZ7pPJw1HzVRs1eoW2R0VdKIX0P5cnaaaDh49P\/1aRUt1sFmqJXXCvbubusjt\/dDuA19PmoxathZbVhJS3kNdM\/vkV+zIfcLnX3+obuMedyLf\/S3j9Ma+Kr71PUbV3htBbTv0tP8AFIfg3ubienIeaiXe+VN07O32yF0FC49nFGwYMp\/bXh6raWK0x2e2R04AMpG9K8D4nf04K2XDxPXkYqa363UXwrNvqz4slhpbJT7sY353D8yUjU9w6DuVoiKhtt3Z6kIRhHDFZBERcJBERAEREAREQGZsjS3bC8ZBGQCM+K0yy8Z9h\/xBkDtG10Hu+IA\/7T6rUKc9UzNs2UZLo2ERFA0nOaGKohfDMwPjeMOa4aELKTUFbsjMay3l9Tb3HM0BOrO\/+vqtevCARgjIKlGVimrRVTPRrRkS2XOmu1G2ppn5adHNPFh6FTFka+hn2XuJu1tjLqKTSpgH6RniO7p08FpqKtp7hSsqaaQPjeND07j3rso2zWhGlVbeCeUl690SERFA0GY2M\/KddKQ8Yak5+Y\/lWnWXsOYdrb1Bw3yJMeef5lqFZU8Rm2X8q3S69QiIqzSEREBndt5SywdmDgyytbjOO\/X0C5bW0Yj2XgaxmDTOjDccRpu4+i+9tot6108pcA2KoaXE9+QuW3VZGLLDC14Lp5A4DPFoBOfor4fpsebXt7Vvovn8zrtNeGsskVPFl09xYAwDTDTjOfXCg7A0JaKmvLcNdiJhI1OuT\/KqqeSb2F10qgfaaxns9JCW6tZpl48tB3nK1ArKLZOxU8E+O23M9k05c951PlnTK61aOFcyuEt5W3s8lFf889fItq6vprbTOqKqURsb6k9AOax9ZLU3yF90ubnUtph1jgBw6Y8sdSeGfTmVLpbTPeZfxm\/v7OnYC+OnJw1reOT0HPv5r5hjftbdmTmMstFGd1jDp2h8PTy8VyKUSdWc6tlbJ6Lr3fbsddmLU6qqPxyqiZGHN3aaAN0jaNAR5DTxJ5rVrxrQ1oa0AADAA5L1VSlidzdRpKlHCgiIoloREQBERAEREAREQGb2xgkjgpbrC0ukopQ7jpjI4jxA9Ve0dXHXUcVVCcslaHDu7l0mijnhfDKwPjeC1zTwIWYsM0lkvM1gqXnsXEvpXu5g8vP6gqxcUbdDK\/ZVsXKXx\/s1SIirNQREQHy5rXsLHtDmuGCCMghZF7X7H3oSMJNqrHYLP\/Cd\/T5jwWwUa4UEFyopKSoblkg482nkR3hTjK2T0KK1NzV4+JaEhrg5oc0ggjII5r1ZnZyvloah9guLgJ4T+Q7k9vHAP0\/otMuSjZ2JUqiqRuZi3+7\/AIg3No0BpwSO\/Ef7qReLvVG70tptcgFQ52Z3Fm92bcaZz458h1VbFcIqDaW+XKpBPYsawbvE8AB8h6Kdsnb5dya8VgPtNad4Z5MJzp3HTTuCtaS4n0MVOTl7OPNtvsr\/ADNGiIqD0giIgONVTRVlNJTTt3o5BhwzjRYb8Kt1Nta2CN5NLRsElQ6Y7wGBwOnXHr5LX3q7RWe3vqZCC\/GI2E\/G7ovzMVFRUh9PGHSTVUodIRq6R3IepPifALRSi2meVt1SClFWu\/vL+S3fe3Vl\/kroYnVEjPy6GDXDeQdj546nuWjs+z0ntBud6IqK15y1rjvNi+2fkOSbL7NC0sNVVNBq3jAGh7IcwD1P9PHjervUXOu\/A7O8b7sieYHRg5jP19Ebu8MRThgjvK2bbyXf6\/A5XCsn2mujrPQv3KKI5qJ2672OQ8+HXwC01FRwUFJHS0zNyOMYA+5XG1WqmtFG2np2973ni89SpqqlK+S0NtGm1ec\/E\/TsERFA0BERAEREAREQBERAEREAVJtPaHXKhE9PkVdKe0iLeJ6j5ad6u0XU2ndEKkFUi4vmVlgu7bzbGVGgmb7srRyd+x4qzWTuEUmzF9F1hBNBVu3ahoHwE8\/uPMLUxSxzRNlieHseMtc05BClJLVaFVCbacJ+Jfdz7REUDQEREBQ7UWmSspmV1HltbSe8wtOpA1I+4\/qu1t2ghrLC+4uwHQMJmZng4D78lcL882nifartUU9JO2KC4Na6VgOjdefQZyfMq2Cx8LMO0N0G6seevv5Mj2iifdL7TCrJ3at7qmRpGjwC76kEL9KAAGAMALBXi42hsVHUWmsIrKJrWR7sRaHDvyPE+ZVtR7dUEkA9sjfDKNCGDeae8fsp1IylZpFGy1KVFuEpK\/U1CLPf53s3+ub\/AOtfMm3NoYwlgnkPJojx9Sqt3LobfxVH9yNGo9dX01upnVFVKI2NHPie4DmVj5duK+rf2Nut4D3cOMjvIBUdYLtdLi2CpMlRWHQRgj3OowNB9uasjRf6jNV2+KXs1d+h7eLrU7QXMObG7BwyGFupxnTxOq2Wy+zjbTCamobmrkHP\/lt6ePVfWz+ztPYqc1NU6N1TjLpCfdjHQE\/VQ6+91d8nNssLX7mcS1fAAdx6d\/E8l2UsXDHQqpUt097Wzm9F9\/aO94vs1TU\/hFkPaVb8iSVp0iHPXr38vFWNkslPZaTsovfldrJKRq4\/Ydy9stkpbLTGKD35HaySuGrv2HcrJVSkrWjobqdOTe8qa\/AIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiA41dLFW0slNO3ejlbuuCzVnq5dnri6yXGX\/AGdxzSzOGAc8s9PoVq1X3q0w3i3vp5AA8axPP6HKcWtHoZ61Nu04eJevYsEVNs3NcDROpblC9k1OdwSOye0HXP8AfIq5UWrOxbCeOKkFAut4o7PT9rVSe8fgjb8T\/Afdcb7fYbNABjtaqUYihGpJ6nuyq+07OyT1H4tez21W87zYnfDH0yPtyUlFWvIqqVZOW7p6+i++hwE1\/v8AC+btBaqDdOuCXuHHPXh4BV2zuz0V4iraipe98RBigkdkne47\/lp6kK+2vrZILYyipwTPXP7JoHEjmPPIHmrS10Ittsp6MEHsmAEgcTxJ9cqzG1HLIzKhGda0neyzv1fIodlRA01ForKSAVdITl3ZjL2548NeWveFd1VmttbGGVFFC4Dhhu6R5jVUm08E1tuFNf6RpJjIZUBvNvf9PRaaGWOeFk0Tw+N4DmuHAhQk34kW0YpXpSWnquRnpNhbQ\/Vj6iPTk8EfMLrT7FWaBwc6OWfGP4kmnywr9eHUYzjvXN5LqWLZaKd8KMtc6xlHMLHs7TRtq5BuySRgfljvPXvPDxSkqbJsnSOa6pbU1j\/4piIc5x6dw8V8s2Kl9qmkfc3sikeSWRswXNzwJyPora37NWq2gGOn7R4Oe0l945+nyVjcUrXMsKdZyxYUunZdkinZS3Ta2VstaHUVsByyIfFJ\/fX0WmoqKmt9M2npYhHG3kOZ6nqVIRVSk3lyNlOioPE831CIiiXBERAEREAREQBERAEREAREQBERAEREAREQBRLncIbXQSVk+S1g0aOLieAClrK3CKbaDaeOiMZ9hoSHykge8dfkcY8ipRV3mU1puEeHV5I6bN22arkN8unv1Ex3oGngxp4EDl3d3itMvGtDWhrQAAMADkol1pZ622zU1NP2EsgAEnQZGflkI3ieYhDdQss38WZ+3P8A8wbWTV+N6koRuQnOhPXz1PhhaxQrTbYrTboqSLXdGXu\/1O5lTUm7vI5Qg4R4tXmzhWUkddRy0swyyVpae7vVDsjPNT+1WWqP5tG\/LO9p\/rr5rSrNXntbftTba6Mv7KpcIJWtGmeAz1+L5KUc04kaywyjV6ZP3M0qIirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXmAcZHDgiID1ERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "COMERCIAL COÑARIPE LTDA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELIDMAR VÁSQUEZ ROSAS",
    "correoContacto": "secretaria@comercialconaripe.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITA REVISIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "552444090",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:08",
    "ubicacionGPS": "LatLng(lat: -23.622484, lng: -70.3876375)",
    "horaLlegada": "12:04",
    "horaDespacho": "11:40",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 12:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 12:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78828690

[11/08/2026 12:08: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('78828690', 'KY2602', 1, 24456550, 79827, NOW(), 
				'11:40', '12:04', '12:08', 3, '•Se realiza mantención de rodillos de alimentación, ADF, y fusor
•Recepciona Katherine Rojas', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786464536.png', '', null, 'COMPLETADO','LatLng(lat: -23.622484, lng: -70.3876375)' )
				
[11/08/2026 12:08:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201435

11/08/2026 12:08:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201435'                    
				WHERE idllamado = 13739			
				TO ENVIO: micorreo@miempresa.cl, secretaria@comercialconaripe.cl, donkhapone@outlook.com


11/08/2026 12:08:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13739			
				
11/08/2026 12:08: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/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                
11/08/2026 12:08:56 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-jZfc41+wQ-TDRehHF9KRC-IpDg.Zen30X.c47jBE.EeZ9hkWeO-
11/08/2026 12:08:56 Detectado modo MULTIPART/FORM-DATA
11/08/2026 12:08:56 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786464536.png
11/08/2026 12:08:57 Envío correo: OK
------------------

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:09:02 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 12:09:02 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:09: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;
                

[11/08/2026 12:09: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;
                

11/08/2026 12:09:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:09:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:09:02 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:09: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;
                

11/08/2026 12:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:09:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:09:02 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 12:09: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;
                

11/08/2026 12:09:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13739
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13739
                and cs.estado_control = 1;
                
[11/08/2026 12:20: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 12:20:31 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 12:20:31] 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/08/2026 12:20:31 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [RutCliente] => 16524375
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 04/08/2026
        )

)

11/08/2026 12:20:34 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:20: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/08/2026 12:20:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:20:40 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 12:20:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 12:20: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/08/2026 12:20:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:20:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 12:20:42 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:20: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;
                

11/08/2026 12:20:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:20:43 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 12:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 12:20:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 12:20:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:20:44 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:20: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/08/2026 12:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 12:28:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:28: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/08/2026 12:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:28:07 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:28: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;
                

11/08/2026 12:28:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:28:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 12:28:09 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:28: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/08/2026 12:28:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:28:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:28:14 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:28: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/08/2026 12:28:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:28:18 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:28: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/08/2026 12:28:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:52:32 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:52: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/08/2026 12:52:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:52:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:52: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/08/2026 12:52:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:52:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:52:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:52: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/08/2026 12:52:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13747
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/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 = 13747
                and cs.estado_control = 1;
                

11/08/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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/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 = 13747
                and cs.estado_control = 1;
                

11/08/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 = 13747
                and cs.estado_control = 1;
                

11/08/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 = 13747
                and cs.estado_control = 1;
                

11/08/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 = 13747
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:53:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:53:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:53:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:53:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:54:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 12:54:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bJzuTKq.MqkobBvF2_yA1rRxz.j9N-KjjclLX35PRf57I09VWC9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3146",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "6160",
    "contadorColor": "20704",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13747",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADrAPsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABEEAABAwMBBQQHBQYFAwUBAAABAAIDBAURBhIhMUFhE1FxgRQiMpGhsdEVI0LB8BYkQ1Lh8QczYrLCU5LSJSZyc4Ki\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwUGBgMBAQAAAAAAAAECAxEhMUEEElGB0RMiMmFx8CORobHB4TNi8RRS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBeZJGRRukke1jGjLnOOAB1K8zTR08L5pnhkbBlznHcAsnIa3WVU6OJz6W0xu3uxvlI\/XgPFSjG+eRTVq7mCV28kT6O+1d3vQjtsTfs+AkTTPHt+Hd0+K0K4UlHT0FMynpohHGwbgPme8rukmm8DtKMorvu795BERRLQiIgCIiAIiICtN4Z+0AtAhO12XaGTa3eGFZLMUf3n+IdcRwjpgM9+5n1+C06lJJWKKM3PevxaCIiiXhERAEREAREQBERAEREAREQBERAF5c5rGF73BrWjJJOAAvSyddWVGqLi+1W95joYj+8zj8XT4efgpRjcqq1VTXFvJHOSWbWF2NPEXstNM713Dd2p\/ry7uK1kMMdPCyGFgZGwYa1o3ALnRUVPb6VlNTRhkbBuHf1PVSF2Ur4LIjRpOF5Sxk8+noERFAvCIiAIiIAiIgCLnLNFAzbmlZG3ve4AfFVd5vlJTWapnp6qKWTY2Y+zkBO0dwO7u4+S6k2QnUjBNtkDSv71dLvcT\/Em2G+AJPywtOqjS9E6hsFMx+Q947RwPLa3492FbqU3eRXs8XGkr55\/PEIiKBeEREAREQBERAEREAREQBERAERVGob0y0UR7Mh1XL6sMfEk9+OnxXUm3ZEJzjCLlLIhakuk80osdr2nVkuO1c3d2bcd\/Ll5eKt7Ta6e0ULaWAZxve88Xu5lQNN2Z1BC6tq8vr6obUrncW5OcfX+ivFKTS7qKaMHJ9rPN5eS95hERQNIREQBEWevN+mNV9kWcdrXPOHPG9sXf5\/JdjFt4FdSpGmrsn3K\/UFqkZFPLmV7gOzZvIBPE9wVkqSzaagtrvSal3pda47Tpn79k9M\/PivN51NFQymioozV17jgRtBIaeuPkPgpbqbtEqVWUIudXDgvebLOvuNJbYO2rJmxN4DPFx6Dms99q3zUEhZaYTRUZ3GplHrEdP6e9dbfpiWqnFwv8pqah28QE5YzocbvIbvFaVrQ1oa0AADAA5Lt4xyxZG1WtjLurhrz4Gbg0VTOk7a5VlRXSc9pxAP5\/FU1dYaKs1I202uIwsjbtVEu0X7PPG8+A8T0Wov96jtFGdk7VVKNmGMbyT347h8Vz0zaHW2hMtQ0emVJ25SRvbn8P65lTU5JbzZTOhSlNUox82\/xfzI2nK6qhrqix17jJNTNzHIT7TN31H6C0azF4xS6ztNS0etMDE7efD\/AJLTquej4mjZ20pQej+mgREUDSEREAREQBERAEREAREQBERAcqmojpKaWpmdsxxNLnHoFmbDTS3y6yX+taezaS2kYcYABPy+eUvkkmobxHY6VxEELtuqlAyARy\/XM9Fp4YY6eFkMLAyNgw1rRuAVnhj5syfzVP6x+r\/X3OiIirNYREQBEVBqO8zUrorbbsOrqo7Iwf8ALB59D\/UrsU27IrqVFTjvM4368zz1bbLaDt1Mh2ZnjOIxzGRw6nl4qystjprNTbMfrzvH3sx4uP5BfLJZIbNTkA9pUSb5Zjxcfoqy9XWpuNw+wbS7Ejt1RMPwDmPr7lZn3Y5GbwfFq+J5L8L8sXbUE9ZWfZFjHaTvyJJxwj78H8\/dvVlZLFT2eDlLUv3yzOG8np0Xa02els9KIaduXHe+R3tPPX6KeoykrWjkWU6UnLtKmf0XviFBu12pbPSGepdvO5jB7Tz3D6qJeNS0dqzC0+kVZ3NhjOSD17vmoNqsdXX1jbtfjty\/wqcjcwcsj8vfvRRwvLIVKzb3KeL+i9eh6sVsqa24Ov11ZiWQfu8R\/ht5HHhw8SeK0qIuSldltKmqcbIzGqPVv9gcNxNRgnptM+q06zGofW1TZGAbw8u8sj6LTqUvCiqj\/JU9V9kERFWaQiIgCIiAIiIAiIgCIiAKo1HdxabcezOaqf1IG4ySd2T5Z+StZJGRRukkdssYC5x7gFlbSx2o7\/Jd52H0SlOzSgg4cQdzvEcT1I7lOCWbyRnrzaShDN+2y103aBaraDIM1U\/rzuOck8h5Z9+Vboii3d3ZbCChFRWSCIi4TCIvjnBrS5xAAGSTyQFdfLxHZbeahzdt7jsxszjaP0UHTVmlpe0uVw9auqjtHaG+MHl0Pf5BQre39qNQvucjM0FH6kLXt9p2Ofvz7leXy7xWa3uqHgPkJ2Y2Z9p30VrVu6s2YlJTbrT8Ky69CDqK81FPLFaraNuuqdwIP+WO\/wAfkpdjskNlpSxp7SeTfLKfxH6LNWi526zsdcK6b025VR2sQ4eWA8s8Ae\/yCnip1Pe3EU8ItdMfxyD1yPMZ9wHipOLSssiqFaMpb7xlolouvEu7leqC1MzVzhrsZEbd7j5Kgdc75qTMVtpzRUbtxqHnDiOh+nvU+3aRoKSTt6pzq6oJyXzDdnw+uVfAADAGAFC8Y5Yl+5Vq+N7q4LP59CqtGnKG0DbYztqg+1NIMu8u5WyIoNt4s0QhGC3YqyCIi4TMxdD22urXCP4cReT3e19PitOswz77\/ER+N\/Y02\/PLcP8AyWnU56ehm2fFzfmwiIoGkIiIAiIgCIiAIiIAiKNcK6G20MtXO4BsbSQM42jyA6lFicbSV2UeqKqoq54LDRD16rBmeBnYZkf3PTxV7Q0cVvoYqSEYZE3A6nmfM71RaRoJHMnvNYA6orHEtPHDendk8ugWlVk8O6jNQTk3Vlm8vJe8QiLxLNFAwyTSMjYOLnuACrNR7RUdZq+0UnqsmdUv\/lgbn48FDbe9Q3QYttpFPG7+NUHkeYzjPuKmoSM8tppp2Tu\/LE1CyGtLxCaeK309W37x\/wB\/2Z2i1o5HB68Oi6O05cauN818vUhiALnxw7hjGT05dygaOtVNW1tVWvpQ+ljOxC2UB2\/jv7yBj3qcYxj3r5GatUq1LUlG29x\/R3ptRPpba2nsdpllihZ608rcNJHFxA9\/FRrZbazWFS+tuc72QR+qzYaBno3w796t9UVb6mWDT9GcTVRHaEDcxn6GfAdVe0FFFb6GGkh9iJuznvPM+ZyV1y3VdLFkY0XUqbkpXjHkr8ORGt9htls2XU1M3tGj\/Mf6zvfy8lYoipbbzPRjCMFaKsERFwkEUK5XehtMYfWTBm17LQMud4BZ6XWs\/awyQ2uQUkrtlr5NxeenL5qahKWRRU2inTdpPE1yIuc0oggkldwjaXHyGVAvyM5p4mr1LeK4HLA8RNPfg4+TQtOs3oeIiyyTv3vnnc4u7+A+eVpFOp4jNsv8Sb1x+YREUDSEREAREQBERAEREAWUvTpL9qGCzQl3otOQ+qc3h34PluHU9FZX3UVJaqWVrJ2Pq9kiONu8h3ee7HVZqwUuovR3mhhZTioftPqpm4c4Y5Z5cTuHNXQi0t4wbTVUpKkseNvsbp8kNNFtSPZFG3Ay4hoCo6\/WlqpMthc+qfv3RD1c9Sfyyop0pFsOq77c5qjYaC\/LsNbjqd+PcommLNT3Gvluz6RsVI1xFNCd4z3nvx8\/BFGFm2J1a7koRSV+b9TvTVWrrpGezZFRxuIcJJG4OMcADnx4eaks0ZFPIJbpX1FZIP8AUQMeeT8VpUUe0emBatli\/G3L16EOjtNvt7QKWkijI\/EG5d7zvUxF8c4NaXOIAAySeSg22aVFRVkrGd1lXOjoI7dT5dUVrwwMGN7f6kgKzt9JDY7KyIkbMEZfI4czxcVQWqp\/aLV0lwAPo1FHiJrhzO4H\/cfIdymayq3NoIbbCT29dIGADuBGfiR8Va1lAwqou\/tHJe\/NnPSUL66asvtU0drUyFsed+y0d3wHktOo9DSMoKGGkjJLYmBoJ59VIVcnd3NNGn2cFF56+oREUS4Kjvt\/NBKygoY+3r5tzWjeGZ4Z\/XXx66ivbbRRYiw+rl9WGPGd\/fj9b1z0\/Y\/QWGurCZbhONqR795Zn8I\/NTiklvMzVJylLs6eer4fs4WrS0ccnpt2f6bWP3kSb2sP5rhfw2t1RZ7eMERkyuaO7j8mFalZayH7T1bcrlvMcA7GM4wO7\/ifepRk23J6FVSnCKjSis39sWalUurav0TTtRg4dNiJu\/jnj8Mq6WX1P+\/Xu02oDIdJ2sg\/05+gcowV5F20yapO2bw+eBdWSlNHZaSA7nNiBcO4nefiVORZy56oPpHoFli9Nq3cXN3sZ9fkuJOTJSnCjBJl7U1VPRxGWpmZEwfie7CoJ9cW1tSyGnjmqA5wBe1uBg9wO8nphRXaeigiddNTVz6hzRkx7Xqj\/T18BhfLRbH3u4R3SemZTUEG6lpw0DI7\/fv6qxRgldmWdavKSjFWb5u3F8DXNdtMDsEZGcEYIXpZ+6avoqGdtPSsNbOXbJZG7AHng5PQK+a7aYHYIyM4IwQq3FrFmyFWE21F3sekRFEsC+EgDJOAFX3a+UNmjDql5MjhlsTN7nfQdVRmC+6nOZ3G3W5\/8PHrvHzPngdCpqF8XkUVK6i92KvLh14FhcNW2+jlMEG3WVGdkRwjIz3Z+mVAfSak1AcVLxbKR38Nvtkdefvx4K9ttloLUzFJAGuxgyO3uPmvN+uYtNpmqcjtMbEQPN54e7j5KSaTtFFU4ScXKtLDguubMlT2OiqdUMt1IwvpqIbVTI85MjhxHvwMeK3yotJWw2+0iaYH0irPayE8cfhHu3+JKvCQBknAC5Uld24HdlpKEN61m8eiMzqmofXVlJYKd2HVDg+Yjk0bwOfcT5BaKmp46SmipoW7McTQ1o6BZvS7Rcrxcr24Ahz+yhPcP7bPxWpSeFondn77dV65ei93CIirNQWW1reDTUYt9NIO1nB7XByWsxw8\/kCtDXVkVvoZauY4ZE3J6nkPM7l+fXCOWW0z3qr3TXGYNibn2WA5P+1oHTxVtKN3dmHbarjBwjm19P3kanSUEVv00yolcxna7UsjzuwOAyfALJ6nujbvdDNTEmnp2hjHcMnPHz+QVtFFValjjp2PfS2WkYGF\/OTZHx4eXiqXT1K24Xmnp2t+7Evavzu9Vu8DPvG7v910Uk3J5mCtOUoQowWD+v6P0W1wSU1rpoZXF0jImhxdxzjepaIsjxPcirJILlU1EdJTS1MztmOJpc49AuqzetJpXUNNb4CO0rJgz2sZH9yFKKu7FdafZ03I5afp5LzdJdQVbDsZLKVpA3NBIz5cPHK1K5U1PHS00dPC3ZjjaGtHQLqkpXYo0+zjZ56+pX3yuFus1TU7QDwzDMnHrHcFF0nb\/QLDDtDEk\/3rvPh8MKDqZ0lzu1DY4SCx7u1nxyaO\/wAs\/BadrQ1oa0AADAA5KTwjbiVR79Zy0jhz1PqyFHVU82rLjdqiZsdNRgRNcSMZ4bu\/g7h3q9vV6pbPSOfNIO2c09lGN5cfDu6rLab0xLcImVlxkJpXOL2w7RzIe893zXYJKLbKtom5VIwgrtY9LkySquWrpDT0bX0dsyQ+Zw3yDu\/p71bEWnSVs2g3YHDPGSV368guFy1HS2zYt1shFTVDDGQxD1WdN3yCqKiJtA5t21LL6TWOH3FEMYaOvLA\/WSpWvhkitzUG2neWr0Xvgjq0Pvkgu98cKW1wnMMLjgP7ie\/8+Sh3HUFdf5xa7RCY4XHA2dzntHf\/AChRcXjWNefwwMPhHEPzPx8luLTZqSzU\/ZUzMvI9eR3tP8fopSahnmV0ozr3UXaLzer\/AEV+ntLQWlraioAmrMe1+GPoPqtAiLPKTk7s9OnTjTjuxWAWcumpJZKv7MscXpNWfak4sZ9fHgOqn36muVZRtp7dKyLtHbMrycEN6LraLPS2ekEEDcuPtyEes8\/rkpKyV2V1O0nLcjgtX0INp0zFSzem3CT0yuccukfva09Afn8leoii23mW06caatFBZO4sOoNWQ2\/2qShG3MMHBdzB8dw960F2uDLXbJqx+CWN9Vp\/E48B71XaSt76O1monbioq3do8kYOOQxjxPmpxwTkUVviTVLTN+n7ZeqFeJjT2aslHFsD8bs78blNVbqJhfp+taP+kT4AbyoRzRdVbUJNcCPpGDsNN02eMm087+8nHwwrpVWmHh+nKIt4bGPcSFars\/EyNBJUo24IIvjnBrS5xAAGSTyWWvmovTWvtVk26mol9V0kXBo54P58EjFyeB2rVjTjd\/6V2pb9BcLgKEu\/cqZ5MuCczOG7A\/I+ajVIrrpc7XDXwej0cr2thpmn2YxgcOPDmVe2DR8NBiouAZPPuLWYy2P6lLt97rm0w\/yxl\/8Au\/8AFXqUU7R0PMlSqSW\/V1aw569C5uAjorHVCFjY2RU79lrRgDDThZP\/AA\/p2vrKyoIG1GxrB\/8Aok\/8Vp9SHGna7\/6iqXQdFU00FVPNEWRziMxuJHrAbWfmFCL+GzRVV9qpq2CTNaiIqT0AszqPEeorJK\/Ox2pb0ByPqFplCu1qp7vROpajIGctc3i096lB2eJTXg5waWfQmrxLKyGJ8sjg1jGlznHkBxKzLGastLWwxNguMDNzS44dj3g\/NVl5v14r4XWh9tMM82HFsZLnOaN+MeXuU1Tu8GUz2tQjjFp+mpZ6Vj+0bjX32VhBlf2cO1yb\/bA96sL7qGK0gQQs9IrZMbEIycdTj5LPN1LcbdFBa6WzimfsYZHJtOcSeYG7nkpTaQus88lVcK5tMXgl7w7ace\/PADd1U3FXvLIzRrS7Pcoq71f+lZeoXRMbLcajt7lUPy9odnsGDlgHie7gMK9pW3690kVPTj7LtzGCMOdkve0DHifgOpUTS1FQNrKy5ygCipjsQyTkbz3+OMf9y73XWk1S8UtliftPcGiVzclxPANH1UnduyRRTUIxdScrJ6LN8\/M7Vk1t0dTej0MYnuMo9p+8jqe4dAo1q0tV3ef7RvkkmH7xGTh7\/H+UdPkrmxabjoAKut\/eK952nSPO1sHpnn1V8q3O2XzNsNm37OorJZR6+Zzgp4aWFsMEbY42jAa0YAXREVJvStggiIgCIiAIij11WygoZquQEtiYXEDn0Q42krszd82r9qOlssZzTwfe1Baff4bt3i5atrQ1oa0AADAA5LO6Pppn09RdqoZnrpC4H\/Tn658sLRqyf\/ngZ9nV06jzl9tAvMkbJY3RyN2mPBa4d4K9IqzSZcWO+Wl8jbNXRGmc8uEMw9nw3fRfT+2YOM0Z67lpJZY4InSzPbHGwZc5xwAFmK6\/1V5n+ztPZJP+ZUkFoYOnd4+5WxbloYKkKdJWUmuCT+xRXpt3ra5tFPWtq6k4\/d4PZj8eAz7\/ABWw09YYbLSDID6qQDtZP+I6fNe7JYqey05DPvKh\/wDmTEb3dOgVok53W6siWz7Nuy7SfifOwWYvH3WtrRMdwcwsz\/3D\/ktOsxq7NLW2q5FpLIJ8P7sZB\/IqNPxWLNqwp34NP6lrqJhfp+taP+kT4AbyvGmHh+nKIt4bGPcSFYyxsqIHxP3skaWnB4ghZ7RUj4qSqt0wLZaWY7j3Hd8wUWMGJd3aIvimvyaVERQNIRF8c4NaXOIAAySeSAj3CuhttDLVzuAbG0kDONo8gOpWKp7jJROlvc0YluFxJbSQ8dhucZI7twA78KwnedXXptNEXfZVIdqR43CR3Q+ePDJ5qbddKur7m2upri+je1gaNiPe3GeBBGN25Xx3Y4SPNqupWe9TyWX5fLQ82W0C2tdeLzMw1j8uc+RwxHkcM9\/9god91ZDVRG3WnbmmnIZ2gy0b+TeeeS7nSVJGTV3m5T1jY2+sZXFoA8ck\/FR9K2+KuuEt4FOIaeM9nSxbI3d54b8d\/fnuXe74niRaqpKjFbt+b82LVoqQsjN2nLo2b20zHHAz3n6e9WF7skoFLWWmOKOaiyWxBgw8d3671oEVbqSbua1stKMN1LnqUdo1NBcJfRKqM0daDgwvzvPTI+BV4qy8WGivUQE7SyVvsyswHDp1HRebDS3SihkprjNHOyMgQPackt6\/Bce61dHYOrGW5PFcepaoiKBoCIiAIqC4v1PTV0k9E2nqaXcWw4w4DG\/uOfM\/ko41PdKc4rNP1A\/1R5I6Dh+anuN5Gd7RCLtJNcjTrL6rndX1lHYYN753h8pH4Wj9E+QX060AGTaKsAdFTW2\/kXmqu81BUVDpvUiDBkRt7s+7496nCEk72M1faac0oJ55+hvYomQxMijaGsY0Na0cgOAXtZg6quVQMUVgqHHk5+cD4fmvn\/vGv3EUtvbnoTj\/APr8uKjuPUv\/AOmD8Cb9EaaSRkTC+R7WNHEuOAFnq\/WEDZfRbVA+vqDuGwDs\/U+XvXiLRrZpRLdbjUVrgfZLiAem8k48MK+oqCkt8PY0kDIWc9kbz4nifNO4vMfHqf1XzfQzsOnrjepW1OoKkhjTltLHuA8SOHxPVaSlpKeigbBTRNijbwa0LsijKTZZTowp4rPjqERFEuCrNRUIuFjqYQ0F4bts3Z9Yb93y81Zoup2dyM4qcXF6lPpa4Nr7FAdsGSEdm8DdjHD4YVbdIn2DUcd5ia40lT6tUGtJDOG8\/PxB715rY3aY1ALjEwmgrDsztaN0Z453e\/3haR7KS6UWHNjqKeZuRneCFY8HfRmOKdSHZvCUfafM6QzR1ELJoXh8bxlrmncQuiygtV9sE0hsz2VVI45bTyn2feR8Dv5rr+0F\/DQ06dk284yHHHy\/Nc3ODLFtFsKkWn6XNK5wa0ucQABkk8llLtcptQ1LbPZ3kwE\/vFS3OzjmPD58F6fb9QagcI7m5tvox7UURy5\/jvPx7uC0FBbqS2U4gpIRG3mebj3k80VoY5s49+v3bWj9WLfb4LZRR0tO3DGDeebjzJ6lSl8c4NaXOIAAySeSytdeau\/1LrXY8tiG6eq4DZ6frJUUnJls6kaMUlyRzuFRNqy5G10TjHQ07szzfzHl+ePfyWrp4I6WnjghaGRxtDWgcgo1qtdPaKJtNTjdxc48XnvKmrspXwWRyjTcbzn4n7sERFAvCIiAIiIAiIgCIiAz2sK2SG2soacbU9a8RtaDvxz9+4eat7dRMt1ugpGcImY8TzPvys\/RuF61rNU7W1T25uwzuLt4+e0fILVKyWCUTLR785VOS9F+wiIqzUEREAREQBERAEREByqaaCsgdBURNljeMFrhkLLmK5aSqnGmikrbXIc9mDl0RP68CtailGVsNCmpSU7NOzWpUUGqLTcCGx1IiefwTeqfoferNk0UmNiVjs8NlwOVBrtP2u4Oc+ekZ2juMjPVceu7j5qtfoW0Ozh1SzP8sg3e8KXcZC+0R0T526l9NV01MMz1EUX\/AM3hvzVXXastNE31KgVMh9lkHrZ8+C4RaIs0ftNnl3fjk+mFZUVktlvft0tHGx271jlxGO4nOOKdxeYvtEtEvr0KE01\/1Kf3r\/063uO+Ie25vzPngdFpKC301tpW01LGGMaOPNx7yeZUlFGUm8CdOioPebu+LCIiiXBERAEREAREQBERAFAvdw+zLRUVQID2twzP8x3BT1ltT5ul6t1lZgtLu1mGTuH9g73qUFd4lFebhTbWeS9WT9KW99DZWOmH31Qe1eTx38M+WPerpfGtDWhrQAAMADkvq43d3LKcFCCitAiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgPhIAyTgBZfTJN1vVxvT97drsYcg7h\/bHvPnYaquAt9imIcRJN90zHHJ4\/DKkWG3\/Zlmp6Y+2G7T92PWO8+7h5KxYRb4mWffrKOkceehYoiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBlrmRedYUluDj2NEO1lHInccf7R5lalR4aClp6qaqihDZpyDI\/fl2Pl5KQpSd7JFNKm4uUpZt\/4ERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -23.100636, lng: -70.4524806)",
    "horaLlegada": "12:26",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 12:54:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 12:54:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 12:54:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'TO3146', 1, 21773342, 6160, NOW(), 
				'08:00', '12:26', '12:53', 3, 'mantencion preventiva y limpieza', -1, 
				'', '','1','20704',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786467244.png', '', null, 'COMPLETADO','LatLng(lat: -23.100636, lng: -70.4524806)' )
				
[11/08/2026 12:54:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201436

11/08/2026 12:54:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201436'                    
				WHERE idllamado = 13747			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 12:54:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13747			
				
11/08/2026 12:54: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/08/2026 12:54:04 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-bJzuTKq.MqkobBvF2_yA1rRxz.j9N-KjjclLX35PRf57I09VWC9
11/08/2026 12:54:04 Detectado modo MULTIPART/FORM-DATA
11/08/2026 12:54:04 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786467244.png
11/08/2026 12:54:04 Envío correo: OK
------------------

11/08/2026 12:54:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:54:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12: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 = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:15 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 12:54:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 12:54: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;
                

[11/08/2026 12:54: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;
                

11/08/2026 12:54:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:54:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:54:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 12:54:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13747
            GROUP BY l.idllamado;
            

11/08/2026 12:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 12:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13747
                and cs.estado_control = 1;
                

11/08/2026 13:12:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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;
                

11/08/2026 13:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:13 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 13:12: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;
                

11/08/2026 13:12:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:17 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

[11/08/2026 13:12: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/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/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;
                

11/08/2026 13:12:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:40 - INPUT: {"rutTecnico":"21773342"}
[11/08/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;
                

11/08/2026 13:12:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:40 - INPUT: {"rutTecnico":"21773342"}
[11/08/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;
                

11/08/2026 13:12:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:42 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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;
                

11/08/2026 13:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:42 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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;
                

11/08/2026 13:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:47 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:47 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:12:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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/08/2026 13:12:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:12:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:12:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:12:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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;
                

11/08/2026 13:12:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:12: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;
                

11/08/2026 13:12:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:12:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:13:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:13: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/08/2026 13:13:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:13:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:13: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/08/2026 13:13:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:13:17 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 13:13:17] 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/08/2026 13:13: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 13:13:17 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [RutCliente] => 16524375
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => IRMA ELENA SOTO MONDACA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13011790
            [ModeloMaquina] => ESTUDIO 2000AC
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 13:13:20 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:13: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;
                

11/08/2026 13:13:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:13:24 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:13: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/08/2026 13:13:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:13:24 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

[11/08/2026 13:13: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/08/2026 13:13:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:47 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:14: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/08/2026 13:14:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:14:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:47 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:14: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/08/2026 13:14:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:14:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13: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;
                

11/08/2026 13:14:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:14:53 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13: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;
                

11/08/2026 13:14:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:14:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:14: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;
                

11/08/2026 13:14:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:14:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:14: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;
                

11/08/2026 13:14:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13750
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 13:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:14:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:14:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:14:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:15:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:15:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 13:17:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-byHFFfA+ymHGCu2BQdf3BSp8IHzE1nVPk.XYoLyIP7ThW1Kxatg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3131",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "3486",
    "contadorColor": "9604",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13750",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADiAQEDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABFEAABAwMBBQUFBQUGBAcAAAABAAIDBAURBhIhMUFRE2FxgZEUIqGxwRUyQtHwI1Ji4fEHFiQlM8I0Q3KSJjdVdKKy0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgMGBQQDAQEAAAAAAAABAgMREiExBBNBUXHRIjJhgaGRseHwI0LBchT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAERU961FTWn9gwe0VjsBkDN5yeGenzK6k27IhOcYRxSeRaTTw00RlnlZFG3i55wAs9Uav7eo9ls1FJXSfv4IaO\/w8cLjBp2uvUrazUE7gB9ymjOA0d\/T5960lJR01DCIaWBkLByaMZ8eqn4Y+pnvWq6eFfP4M81msa0hz5KWhb+7gEn5\/Ne\/YepP\/X\/\/AIladFzG+CJf+aPGTfuzKvuWobC7NxgFfSA754hgtHU9PMY71oqKtp7hSsqaaQPjeNx6dx713c0OaWuAIIwQeayVQwaSvcU0JLbZWOxKziI3d3z8AQu5T6kXioO7d4+uq\/BrkXgIIyDkFeqs1hERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFmLtdqu61hs9kPvDdPUg4DBzAP67lKMblVWqqau9eC5n3eNQSzVP2TZP21W8lr5Bwi67+vfy8VLsum6a1ft5D7TWP3vmfvwe7p48VIs1kpbLTGKAFz3b5JXcXH6DuViuuSStErp0m3vKuvwv3mERFA0hERAFUapgE+nqrLQ50bRI3PIg5z6ZVuq+\/ODbDXlwBHs7xv7xhSj5kV1knTknyZ5YJvaLDRSZyeyDScY3jd9FYEgDJOAFkbbqOks+mqKF2aiqc07MLOO9xxnouhtl91Fg3OYUFITkU8Y94+P8AP0U3DNt5IzQ2hYIxirysv1ssK7VtooSW9uZ3g42YRtfHgoYv1\/r8vtlkxFxa+oONodRkj4Eq2t9ittsa32alZtt\/5rxtP9eXkrFcvFaImqdafnlbp3ZmBLrNxx7PRsxvzkb+7ivDfNR0W+usglY37zoCeHXdlahFzGuKO7iS0m\/v\/hX2m90V5h26aT9o0Aviducz8\/EKwWZ1BZnUZ+2LO0Q1MHvSMjAAe3iTj59Qrq1XGK626Kri3B495v7rhxCSStdaHaVSWLd1NfuTERFA0BERAEREAREQBERAEREAREQBEVJqO9Ot8TKOjBfX1O6Jrd5bk4z+S6k27IhUnGnFykRtQXieWYWW05fWS7pHtP8ApDnv5H5eKs7LZ4LNQtp4sOed8kmMF5\/LouOnrIyz0eZPfq5vemkznf0H63q3UpNWwoppU5N7ypr9l+6hERQNIREQBR6+ugt1HJVVDw1jBnxPIDvUhYbUl1pq++CiqZnNt9H70oZ96R45Dv347t5U4RxMz7RW3UL8XoX9julXU2qW43PsoIXOLozwwzv+iz9\/1RNcqGaKgp3Nos7ElQ9v3j0HT5+ClwUNdquRlRWl1Ja2EdlTN3F45H+fp1Xt9ZFXXWg05SRBsMR7SVrNwYMflk9+RvVqUVL9yMVSVSVGyeWnrJv7IsdO6eo7bSQ1Jj26qSMOc92\/ZJGcN6K9RFQ227s9KnTjTioxQREXCYREQBZbTJFvvl1tGNljX9rE3dub\/QtWpWYeTF\/aGwA7pqbfjdwB9eCsho0Zq+UoS9bfU06IirNIREQBERAEREAREQBERAERfL3tjjdI9wa1oJcTyCAiXa6U9ooXVU5zjcxg4vdyCp9N2yommdfLoHGslJ7IO\/AzHTlxPl4qNSsdq29Grna77LpTiFjgBtu3cevX0C1ysfhVuJkh\/NPG\/KtPX17BERVmsIiIAiKPXVsFupH1VS\/ZjYM95PQd6HG0ldkLUV3Fmtbpmkds87EQIzv6+QWf0rpjtsXO5xl20dqKJ4ztfxOXzZRPqq+vuFe0GmpR7kXFoJ4Dv6nwHJbGrq4KGmfU1MgjiYMklXNuCwrUwRUdolvp+VadzjdbnT2ihdVVBOAcNaOLncgFUaUt1QwVF2r2kVVY7IBG8M4+WTy6AKJRQy6tuQuFYxzLdTuIhhcNzzu49e\/0WuUX4Vh4lsP5p7x+Vad+wREVZrCIiAIiIAsxW+7\/AGiW\/G7bpjnv3SfkFp1mK7\/zEtv\/ALY\/KRWQ49DNtOkf+l9zToiKs0hERAEREAREQBERAEREAWUvtwffKuKx2mZjxJ788zH5aG9MjjyPoFbaiu4s1rdM0jtnnYiBGd\/XyCrtC0kcVmdUhg7WaQgvxvwNwHhxVsVZYjHWlvKioJ669PyX9HSQ0FJHS07NmKMYaF3RFUa0klZBERDoREQHOaaOnhfNM8MjYMuc47gF+e6huM97eKlrHtoWO7Onbggyv5n9eHFXd7nff7s2x0shbTxHaq5QMhpHLy+fgqe4V\/8A4ipoLbTCogt4DKeJnvBzuJduznfj0WinG2fE8na6uNYb+G9ur7L7mooRR6VsETauRrHYLn43l7zxA68h5Kqipa7V9YyqrGPprXGcxxZ3yfrr5DmVJt+nKiuqRcdQP7eUj3Kf8LB0P5fNaYAAYAwAoOSi8tTRCk6iSkrRXDn17HzFFHDE2KJgYxgw1rRgAL7RFUbgiIgCKop7\/FV319tpoXTMjbl87T7rXb8jw4DPVW6601qQhOM1eLCIq6sv9qoC5s9dEHtOCxp2nA9MBEm9DspRirydixWXnPb\/ANotNgj\/AA9Mc9+53\/6X07Wkc0mxbrZVVhAOcDHyyVTUl6rf7y1lyZZp5pXMEboG7RMXAb\/d\/h6DiVbCElcwV9opSwpPiufA36LNxa0pGTdjcKOooX4BIe3OPr8FfU9XT1ce3TzMlbgH3TnGeCrcWtTZCtTqeVnZERRLQiIgCIiAIiIAvHODWlziAAMknkvVnNWXCURxWek31Nd7pwfutJxv8d\/oVKKxOxXVqKnByZT1znX6quF1e3NDQwvjgzghz8YHjvO16LRaSiMWmqQEb3BzvVxI+GFA1BTQ2TRjqGA7nOazacd7iXbRPfwP6CvbXAKa1UkIGNiFoPjjerJu8cjHQpuNZt62z6t\/gloiKk9AIqTUWoo7PSf4d8MtUXhojcc7PMkgHPD5hQG6srbiBDaLW+aUsG1JJua08\/0SpqEmrmeW004ywt5mpJAGScALN33VlLTwSUtvk7ereNhro94YTuznmfBcv7v3e5jbvl1dHDs5dDC7A8+XnvUTS1qpai9z19PGRSUp7OEuOS93U7yOHzCnGMVm3exnqVq02oRVr89foVhst1orLVVVZUGkhfguiJ9+Z3AA48eB79y1WkbQLdaWTSMAqKkbbiRvDTwb6b\/EqHqP\/Nr\/AG+yAPMbT2s+On9Ad\/8AEtS1oa0NaAABgAcknNuOfE5s1CEara0jl78T1ERUnohERAFldX6iFJE+2UryKh4xK4fgaeXiR8FYakvzLLR4jLXVUu6Nh5D949366rBW6C5XG5iop4DVTB+25zxlu1xy48FfSh\/Znm7ZtLX8UNWbTTtLTaesQqa6WOF9RiR7nHlj3W9+74krnNq6WscYrHbpqp4ODI9hDB6fXC9ptJPqp\/bL7Vuq5j\/y2nDB3f0wtFDBDTRCKCJkUbeDWDACjJxvfVllOnVwqK8MV9eyMybDfLwD9r3LsISc9hCM5HTp81Z0mlrNR4LaNsjh+KU7fz3K3RRc5Mujs9OLu1d83mfLWsijDWNaxjRuAGAAs1oxvbm5XEj\/AImpOD14n\/cpV61DSUzKyhYXOqW07juGWgkHcT6eoXTSdP7PpylHOQGQ+Z3fDC7ZqDvxIOUZ14qP9b9i1mp4KlmxPDHK3917Q4fFZK9UEemqqnudsL4myShkkAJ2HcT1+C2KzOo8XK92y0xkkh\/bS4Gdlo4fI\/DqlN5+g2qKcL28WVuppkRFWawiIgCIiAIiIDlU1EdJTS1MztmOJpc49wWc0zTyXStn1DWNG3I4spx+60DBI+Xqomsr3DIY7XFKHRl4dUOjOSAD93p3+QXWmvF3qaWOlsdoMMEbNhks\/dz5DPrvVyg1HqedOvCVazzUeCzu\/wAHfWB9oqbVb+InqAXDljIH+4q3q77aqIHt66EOGfda7ad6BY+otVfcdTwW+7VnaudGXudFwjGCcDd1A9Vp6TSdmpMEUgmcPxTHa+HD4JJRSSbFKVWc5ygrZ2z9CE\/V0lXIYrNbJ6twONtww0dD\/XC5\/Y+pLsP8yuIpInAgxQ8fA43fErUNa1jAxjQ1rRgADAAUC+3L7KtM1UMdoBsxg83Hh+fkoqWdootnS8LlVk2lyyRlLVY6afVksUAMtJQ75HSEO7R\/y459FumMZGwMjaGNaMBrRgBU+lbe6hszHyg9tUntZCeO\/hnyV0lSV2S2WkoU72s3mZ\/V9dJBbWUNOCZ653ZNA4kbsgeOQPMqytdDFZ7VFTAjETMvf1PElUcIN311LKdowW1myN+7b4fMn\/t8laanqvZNPVbw7Dns7NuP4jj5ErrWSiQjJXnWfDJe2vyVulmfaFxuF8kaQZnmOLPJu76Bo8itQq3T1IKKxUkWyGuMYe7xO859VZKM3eRds8MNNX1eb6sIiqbvqKhtLS17+2qOAgjOXefRRSbdkWTnGCvJ2RakgDJOAFmrvrWjoXOho2+1TN3F2fcB8efl6qqu01zr6M1t3ldQUR\/0qRm58p6Y+p4dFK0vpkGRt0roAzO+CAj7vRx+nqrVCMVeRhntFWpLBSVvV8uhV3a2Ttt7rxeagmqqSBDAOWevQAch3LZaet32XZYIHM2ZHDbk\/wCo\/oDyVTXl141lTUW51NQjtZBxBd\/XZHr4LUpOTwpEtmoxVSU1wy682ERFSbwqy\/XeOzW107t8rvdib1d+QU+eeKmgfPM8MjjG05x5BYOGsg1LqL2u5PigoqdmQyR4AIzuHeSTk+GFZCN83oZdprYEox8z07nOqoJobZTiodt3G8SjLnE5EeQQCP8AqIPl3L9AhibBBHCzOzG0NbnoBhYevv1A\/V8dbI981LSx4j7L8Tsd+OZ+C0I1TRNtRr52Swe8WtieMPf4DmN\/FTmpNLIzbNOlCUs9PsuPuybdrpBaKB9TMd\/Bjeb3cgq3S9BUYmvFwB9srOoxss5DHLOB5AKFbLdW6guAu93aY6dv\/D0x4Efl8\/Ba1QdorCjRTvWlvHklp37BERVmsIiIAviWWOCJ0sz2xxsGXOccABU941NS21\/s0DTVVhOBDHvwe\/8ALioENhul7lbUX6pLIc7TaSI4A7j0+J71NQyu8jPOvngpq7+F1Z2qtXxvkfT2mjmrpxza33PHdvPwUGuobzU26WtvtxNNTxDb9nhAyeg3bs5wBnK1dJR01DCIaWBkLByaMZ8eqzuonuvF5pbBC7DAe1qCOQ5D03+Y6KcWr5Iz1oSwXqO7eSSyV\/8ATlouyRNoTcKqBj5JXfsdtoOy0cxngSfkFrl8RRMhiZFG0NYxoa1o5AcAvXOaxhe44a0ZJ6BVyk5O5qo0lSgoozVt\/wAXrq41Gctp4xG0dDuH0K06zOimulp66vcMGqqCcniQN\/zcVpl2p5rENlzp4ubb+Qstf83fUlBZmv8A2UZ7acY3dfl\/9lp3Oaxhe44a0ZJ6BZnSYfX1twvcoIM7+zjyODR+mjyXYZXkc2jxONPm8+iNQod2r2Wy2T1biMsadgE8Xch6qXkZxnesvqKU3a9UlgiJ2A7tagjluyAfLf5hRgrssr1HCF1q8l1JWjqJ9NZRPKD2tW8ykk8QeH5+a4azLp2W63A49qqQDg4Jxgf7lpWtDWhrQAAMADkszeCJtb2mAnAjjMuTw\/Ef9qnF3niKKsFCgqa9F8mma0NaGtAAAwAOS41dZTUMJmqp2QsHNxxnw6qkuOqMzmhssJravO8gZY3vzz+Xeo0Gn2zzis1HcWTzAkiHtcMZ3fyGB4rihxkTlXu8NJX9eCPJLzdtQyup7JEaamBw+qk3E+HTy3+C6ihtOkaQ1tQfaat2dl7\/ALz3fwjl3lTLhqG1WehxTyQSOaMRwQOHHy4BZqhuNBUVf2tfq3t5x\/pUzIyQwDh3eXqrEm1pZGWc4xlnJOfN6L9+pc2q1VN3rG3m8t76emPBg5EhaVzmsYXuOGtGSegWa\/vrHOSKC11dUQcbhj5ZUa4XjUs1DO\/7LZSU\/Zu23yH3gMY3ZI+Si4yk88i2FajTi8N2+LsyTo1rql9wurw7aqZyGl3Qb\/r8Fc1d7tlDkVNbCxw4tDtp3oN6y1k0xV19phfPdJYaWT3mwRZ68TvxnyKvaPSVmpMH2bt3D8Ux2s+XD4JPDid2c2d1t2lGNvVv\/ERJNbUbnmOho6qrfy2WYB+vXkuZueqq1hdBbYaKPm+c4LR5n6LR4p6KncQI4IWAuOAGtaOZWZq6yp1XVut9uc6K3Rn9vUYxt9w\/JI2eiO1d5HKU7t6JZdynpobzqepmp5658tPDkukaPcLhnAA3A7\/guFvZZKSinN0ilfXRl2xC7aDHEbgMt7wcr9DoqKnt9KympowyNg3Dr3nvWY1IIrze6WzUzGGTb255mgZaMbxnuH0U41MTtwM9TZt3FTbvL1zvfsVemqyeClfDbLZ7TWyPy6Z4GxGOQz8eIWioNMufWfaN5n9rq9xDfwM\/Pw4K+iijgjbHEwMY0YAC+1XKpd5Gulsiikpu9voERFUbAiIgPHODWlziAAMknksrWXmuv9U63WMOZADiar4ADuPL5lS75S3S7VzLbEDT0BaHTTg73\/w\/yVxRUNPbqVtNSxiONvTiT1PUqxWir8TLPHVk4rKK19ench2jT9DaGh0TO0qCPenfvceuOitERQbbd2aIQjBYYqyI9fWxW+hmq5vuRN2sdTyHmcBU2kqKT2eW7VLg6or3F5xybnhxUfUMjrveaWwwu9xpEtSRyHIcRy3+Y6LTsY2NjWMGGtAAHQKb8MbczOv5K1+Efvx+h9Ko1RWmhsFS9riHyDs2kHG87j8Mq3WX1CftO\/26ztBcxru2mHEY\/oD6rkFeRPaJONN21eS9y209R+w2KkhwA7YD3eLt5+askRRbu7lsIqMVFcCr1LUGm07WyNJBMexkfxEN+qoaS+RWyx0dttbBVV8rAdlgyGudvOepHTu3rXyxRzxOilYHseMFp5qNQ2mgtoIo6ZkRIwXby7Gc4yd6nGSUbMz1KVSVTFF2yt6+xl6u03SzQR332sz1ke+pY4+6WnHDHHkD68lN0ewVj628Sljp6iQtwDvY3jj5egX1q6d9S6kskDwJKx4L8\/haDuPrn0UapstbpytZX2Nkk8DsNmpt7if115eCsvijZ6syYd3WvFXjHXrz7muWPudCy6a0fRyOcxr6TG00nIWuaSWAubskjeOiy9XNFQ68ZPUyCON9McOduAwD+RVdPV2NW1JOMb6XR63QNuGQ6qqiOgc0fRU91tdmpZhQW2Oeurn7gO0y1h78AfyVpNdrnqSZ9LZWmnpGnZkqn7ifDp4cfBXdnsVHZodmBm1K4YfK77zvyHcp4pR8zM24p1cqUbLn27lTZ9FUlPT7dyaKid43tBIazwxxV1DZbZAcx0FOD1MYJ9SpyKpzk9WboUKVNWjE8AAGAMAKLdaR1fa6mlacOljIbk438lLRRTsWySkmmZC36hlsNFFQXS2VDDC3AfGMgjiOO748l3drqjkaRSUFXNLyYWgA+YJ+S1CKzFF5tGZUasVhjPLoZN1uvWpJmG6N9hoGnaEDHe8\/x\/n6LTUlJT0NO2npYmxRN4Nb+t67KPW1tPb6V9TUyBkbBvPXuHeuOTlkThSjTvJu74tkW+3eOzW19QcGV3uxM6u\/IKLpm0SW+lfVVeTW1Z25i7iN5OPjk\/yVdZ6Ko1BdDe7lGRTtP+Fhdw7j4D4la1dl4VhK6d6s969Fp3CIirNYREQBERAEREAUevrYrfQzVc33Im7WOp5DzOApCy+rJn11XRWKAZfUPD5COIaP0T5KUVd2Ka1TdwbWvDqfej6KV8dReavfUVrjsno3P1PwAWlXxFEyGJkUbQ1jGhrWjkBwC+0k8TudpU93BROVTUR0lNLUzO2Y4mlzj3BZ3S8D6+sq9QVDcOqHFkIxwaNxPwA8iuV6q5NQ3GOyW55dA1wNXK3gACOfd8Thaemp4qSmjp4W7McbQ1o7gpeWPqylPfVbryx+X+DqiIqzWEREBXNs0Db6+7l73Suj2Awn3W8sjy+ZViqi8ajpbPKIJIpZZnM22tY3cd5AyfIqrazUmoW\/tXC10juTQRI4fP5KzC2rsyurCDcYK75L\/SxuuqKG3EwxO9qqicNhi37+hPLw4rL3uju00cV5u8Q7PtGt9nbuLGccHHDp13rX2rT9vs42qeLalxgyv3uP5eSmVlJFXUctLMMslaWnu711TjF5FdShUrRe8fRLT35ntG2nZRxCkaxsGwDGGDAwd4XZZPTt0NolfYrq\/spI3\/sHu+65p4DPy9FrFCUbM0UaiqQuvdcgiIolwREQBFzmmip4zJPKyJg4ue4ADzKztXqeaumdRafp3VE2cGct9xg67\/mfipKLehVUqwp668uJbXa9UdngMlTINsjLIh95\/wCuqo6a33DU1Sysu7DT0TMGKlBI2u8\/n6YUu16XZFN7ddZTW1jsEl5y1h7s8VoVK6j5dSlU51nepkuXfseNaGtDWgAAYAHJeoirNYREQBERAEREARU96sH2rKyphrZqWpjbstew7sZzw3euVAA1jQAsZ7LcG591ziAQPVv1U1FNalEqsoSs4u3NZmmc4NaXOIAAySeSy+mmSXS8Vt9m+4XGKDjw\/pjzJUC93bUsdEYK6ip4I6nMQ7M5c7PIYcV3oNPajjomUouUdFA3J2Y\/v5O85IG\/f3qajhjm9TLOs6lVJRbUc+WfDU09fc6O2xdpWVDIhyBO93gOJWbkr7vqh5htrHUVASQ6oduLx+uQ8yp1Fo23QPMtWX10xOS6UnHpz88q\/a0NaGtAAAwAOSjeMdMy9wq1fP4VyWv17EO1WqmtFG2npwernni49f5KaiKDd82aIxUVZaBERcJBERAfOwzb29kbWMbWN6+kRAEREBX3ayUV5h2KqP32\/clbuc39dFSti1RZMiMsulM0ANB3PA4ePTqtUimptKxROhGTxLJ80Zga2hhIbX2yrpncMbOcHzwujtc2dpwPaHd4j\/mtC5rXtLXtDmniCMgr5FPA3OIYxk5OGhLw5EcFdaTX0\/JnDraKoGzb7ZV1L+myB8s9y89p1dcsCKmht0ZP334LseefkFpwABgDAC9XcSWiG5qS8837ZGZg0ayZ4mu9dPWy43guIaPPj8lf0lHTUMIhpYGQsHJoxnx6ruii5N6llOjTp+VBERRLQiIgCIiAIiIAiIgCIuVTUMpKWWokOGRML3eAGUON2V2ZqtZ9s61p6bAfT29m3JvyNrjjpx2d3cVqlmtGQSSUtTdZ8GatlLsgcgT9c+i0qnPW3Iz7MrxdR6yz7fAREUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZ3WlU+O0sood81ZIGNaDgkDefjgea0Sy0n+b66jj3mG2s2jkbtv+pH\/apw1vyM20t4MC1ll++xoaGlbQ0MFKzeImBueuBxUhEUDQkkrIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDjV1LKOklqZCAyJhccnoFRaNpHignuM7T21dKXkn93J+pPwTWlRL9n09vh\/1K2UM4HeARu9S34q9pKZlHSRU0YAZEwNGB0Cs0h1Mvnr\/8r5f4OyIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB8ua12NpoOycjI4FfSIunFqwiIuHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/Z",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:16",
    "ubicacionGPS": "LatLng(lat: -23.1006327, lng: -70.4525474)",
    "horaLlegada": "13:13",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 13:17:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 13:17:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 13:17:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3131', 1, 21773342, 3486, NOW(), 
				'12:53', '13:13', '13:16', 3, 'mantencion preventiva y limpieza', -1, 
				'', '','1','9604',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786468632.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006327, lng: -70.4525474)' )
				
[11/08/2026 13:17:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201437

11/08/2026 13:17:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201437'                    
				WHERE idllamado = 13750			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 13:17:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13750			
				
11/08/2026 13:17:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 13:17:12 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-byHFFfA+ymHGCu2BQdf3BSp8IHzE1nVPk.XYoLyIP7ThW1Kxatg
11/08/2026 13:17:12 Detectado modo MULTIPART/FORM-DATA
11/08/2026 13:17:12 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786468632.png
11/08/2026 13:17:12 Envío correo: OK
------------------

11/08/2026 13:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:17: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/08/2026 13:17:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:17:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:17:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:17: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/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:17:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:17: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/08/2026 13:17:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13750
            GROUP BY l.idllamado;
            

11/08/2026 13:17:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13:17:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13750
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:18:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:18: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;
                

11/08/2026 13:18:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:18:12 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 13:18:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:18: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;
                

[11/08/2026 13:18: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;
                

11/08/2026 13:18:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:18:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:23 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:18: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/08/2026 13:18:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:18:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:18:23 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:18: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/08/2026 13:18:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:18:23 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 13:18: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/08/2026 13:18:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:18:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 13:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 13:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                
[11/08/2026 13:18: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 13:18:33 - INPUT: {"rutTecnico":"27729424"}[11/08/2026 13:18:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 13:18:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 5735196
            [ModeloMaquina] => STUDIO 3508A
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 07/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EMPRENORT LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76522970
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLENCORE CHILE SPA
            [ciudad] => LAS CONDES, SANTIAGO
            [RutCliente] => 76821240
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

)

11/08/2026 13:18:34 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:18:34] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:18:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:18:44 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:18:44] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:03 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:03] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:08 - INPUT: {"rutTecnico":"27729424"}
11/08/2026 13:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

[11/08/2026 13:19:08] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:10 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:10] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:19:19 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:19] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:21 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:21] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:19:31 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:31] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:36 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:36] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:19:37 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:37] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:19:39 - INPUT: {"rutTecnico":"27729424"}
[11/08/2026 13:19:39] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 13:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13735
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PARA INSTALACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 17:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:19:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13:20:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13735
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 13:20:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AwoeKj+1ssiaRcyDruxu1Y7SIJ7Jdb9MpQGo2yV0yI6rwUu7JCZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76250610",
    "serieinterna": "EP2772",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "1118",
    "contadorColor": "11364",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13735",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGANcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA4EAACAQMCAwUECQQDAQAAAAAAAQIDBAURIQYxQRJRYXGBEyLB0RQVIzJCkaGx8BZS4fEkM0Oi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMREAAgEDAgMHAgUFAAAAAAAAAAECAxExEiEyQVEEEyJhcaHRkcEUI7Hh8DNSYoHx\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAABBy2VoYi0+kVk5tvsxhFrtSfhqyl+teJsgtbHFRtYPX3q\/Pwe+nf3dCfxPja2RxqlbLW4t5qpTWmrenRHpgc1TzFpq17O5pe7WpPnF9\/kzRWUb2OOeqVXQ5NLlbn13KxY3i6s+1Vy9CnvyhHl\/8AJ9+h8YW3\/XkbW4itlGUVq\/H7vxNOCNb6Iv8Aho\/3P6sy31zxNYbXuFVxGP4qD5rv21\/YlWnGWMrVPZXKq2dRLVqtHby1Xh3l+RrzHWeQpund21OqmtNZLdeT5r0J1ReUR3VWPDO\/r8ntSq061ONSlUjUhJaxlF6p+p2ZevwpdWEvb4HIVbeS3dGpLWMn\/OjTFrxXcWddWmfspWtTpWivdfjp8VqNF+HcfiNLtVVvPl9fk1AOKVWnWpxqUqkakJLWMovVP1OzM6gAAAAAAAAAAAAAAAAAAAAAAAAAAAZjO4q5sb5Z7Ex+1hvXorlNdXoufj+ZpwWjLSzKrTVSNmQsVlbbL2cbi3l4Tg+cH3MmmYyuKucReSzOGj43FsuU11aRc4rLWuXtFcW09\/xwb96D7mTKPNYKU6rvonxfr5onAAodAPG6tLe9oSoXNKNWnLnGSPYAhpNWZkK9lkuE5u7sKk7vH6t1Lebf2a7\/APOnmjRYvK2uXtFcW0tuUoP70H3MmmXymJr4W6lmcLHSK3uLZfdlHq0v5p0NLqezycjjKhvDePTp6fBqAQsVlLfL2Ubm3e3KUXzg+5k0o1bZnXGSkrrAABBIAAAAAAAAAAAAAAAAAAAAAAAAMvl8FdWF28vgpdiqt6tutozXXbr5fluagFoycWZVaUais\/8AhXYXM2+asvb0dYzjoqtN84v4ruZYmWzGLuMPevOYiLb1buaC5SXV6fzvL3F5O3y1lC5t5ap7Sj1g+qZMorKwUpVJX7upxL38yYACh0AAAGSrUlwvxJTuaUXHH377FRLlCfy6\/n3GtKXi21V1w7c7aypaVI79z3\/TUmYW5d3hrSvLXtSpJS1\/uWz\/AFRpLeKZy0l3dWVNYyvuTgAZnUAAAAAAAAAAAAAAAAAAAAAAAAAAAfGk1o1qmZO9tK\/Cl\/LJ2EHUsKr0r26\/B4r4d3I1pzOEalOVOcVKMk1JPqi0ZWMatLvFts1hnlZ3lC\/tKd1bT7dOotU\/gz3Mh2KnBmRlUip1MTcySaW7pS\/mvmvI1tOpCrTjUpyUoTSlGSezT5MSjbdYIo1XNaZbSWToAFTcq+JKipcO3sm0taTjv47fEcN03S4dsotNa0lLfx3+JW8bV5TsrXHUn9rd1kku9L\/LRoqNKFvQp0aa0hTioxXgloaPaCOaPi7RJ9El9dz0ABmdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4XlpQv7WpbXEFOnUWjXxXiZvEXdXh7JvCZCo\/o03raVpctNeTf838zVldm8PRzVhKhU0jUjvSqabxfy7y8WsPBz1qbdpw4l7+RYgoOGcxVuo1Mbf+7fWr7MtdnOK6+nyZJ4kybxmJnKk39IrP2VFLn2n19F+uhGl6tJZVoOn3nIqreUc3xrOvFylb46PZi0\/dct1++vml6GrKjhnFfVOHp05x0r1ftKvem+notvzLcmbu7Ir2eDULyy92AAUOgAAAAFZnc3Qwtm6s9J1p7UqWu8n8kSk27IrOcYRcpYLMFDw7jb6FWrlMnVm7q5S+y1aUI9E13+HQBqzsVpyc46mrF8ACDQAAAAAAAAAAAAAAAAAAAAAzXE2PrW9annsftcW29VL8cP8AXPw8iLjqkuK8+r6rSlGysop06c9GnN+nhr6Im8U5OrCNLEWL1u71qOsZaOEdfjv6alfYRq8IZalaXFTt2N5FfadI1NEn5b\/o13G8b6fPkeXU0qt\/jdX6X5fubIAGB6gAAAAI97e2+PtZ3NzUUKcFu+\/wXiCG0ldnjlsrb4iylc3Et+UIa7zfcilwuIr5K+edzENak9HQovlBdHp+358zjHWtfiXKwzN7DsWdHa3oPX3tOr9d9eumnQ1Zo3oVlk5Yrv5a5cKwuvn8AAGZ1gAAAAAAAAAAAAAAAAAAAAAiZPI0cVYVLuv92Gyiucn0SPetWp29GdatNQpwWspSeyRlKEK3F2YV1Wg1ibaT9nCW3tH\/ADfy2Lxjfd4MK1RxtGPE8fJL4Xx9xVqVM3kdXdXK0gnyjDbR6dPl5ltmcZTy+NqWk9FJ705NfdkuT\/neTUklolokfSHJt3JhRjGnoe\/XzM9wtlalalPFXvu3ln7uknvOK6+nyNCZnie0q2N1Q4gso61bd6Vo\/wB8eWr\/AG9fAvrG9o5Czp3VCXahUWvk+qfkTJX8SKUJOLdKWV7okAHhd3lvYW07i5qqnTgt2\/2Xeyh0NpK7Pt3d0LG2nc3NRU6UFq2zK2lvX4vvvp152qeMozao0eXtH4\/F+iOaNG74yvlc3KnQxVGX2dPXR1H\/ADm+nJdWa+lSp0aUaVKChCC0jGK0SRrwepyK\/aHd8H6\/sfYxjCChCKjGK0SS0SR0AZHYAAAAAAAAAAAAAAAAAAAAADmUowg5zkoxitW29EkfZSUYuUmkktW30MleXN1xZfSx9hN08bSf21df+nh8l6loxuY1aqprbdvCPOrWuOMsiqFFTpYm3l9pPk6j+fcunNmuo0advRhRowUKcFpGMVskcWdnQsLSna20OxTprRL4s9yZSvssEUaTheUneTz8egABQ3OZwjUpypzipRkmpJ9UZjCyeAzlbB1m3QuH7W1m\/wBn6LTzXiakxvGORsqs6FK0qSnkLap24ypLXsdWm\/RP0NKe\/hOTtTUEqnNe\/VGmymUtcTaO4up6LlGK5zfcjPW1he8U3cL\/ACkXQsIPWjbcnNd7+fXoMBinm5RzeVuFdyk2qdH8MNG1o18PXc1obUNlkiMX2i0p7R5Lr6\/BzCEKcFCnFQjFaKMVokdAGZ2AAAAAAAAAAAAAAhZfIxxWMrXko9pwXux729kSld2KykopyeES1OEpSgpJyj95J7rzOig4ZxVSlGplb3SV5e+\/y+5F76eH+kX4kknZFacnOOpqwABBoADM8QZS5u72ngsVNe2q7V6kX\/1ru16bcy0Y6nYyq1FTjdnhk7244lyTw2Om4WlN\/wDJuI7pru8v3fgjS2NlQx1pC1todmnBaeLfe\/E8sVirbEWcbe3j4zm+c33smkylyWClKk03OfE\/byQAKnJcS4vGxftLiNWotvZUmpS18e71KpN4NZzjBXk7FsVWV4ix2JjKNasp1ktqMN5evd6lN7fiPiPa3h9WWUvxvVSkvPm\/TReJbYnhmwxTVRR9vcc\/bVVq0\/BdP3L6VHiOfvalT+mrLq\/siqdHiDiXSVWX1ZYyW0E325rx6v8AReBeYvBWGJpdm3opza0nUnvKXy8kWIIc29lg0hQjF6nu+r\/mxksU3w9xRWxU3pa3nv0NeSfRfuvRGtKTinFzv8b7e3X\/AC7V+0pNc3pzXx80iVgsrDMYyncrRVF7tWP9sl\/NfUmXiWozo\/lzdJ4yvTp\/osQAZnWAAAAAAAAAAAAD40mtGtUz6AAAAAAAAZCFLM4HJ3leljFfK6l23Vg9+b22Xjq9vzNeC0ZWMatLXZ3s0ZhcRZ1vT+nK2\/i\/kPp\/F1ynGljLe3TX35y3X\/18DTgnUuhTuJvM37fBlnw\/nci19aZns09dXToLTXw5JfuWmO4bxeMSdK3VSov\/AFq6Sl\/j0LUBzb2LR7PTi9Vrvq9wAChuAAADIzX9L8TxnDWOOyD0kukJa\/B\/o33GuK7OYuOXxdW1ein96nJ\/hkuXy9S8HZ2eDCvTco6o5W6\/nmWIKXhfKSyGNdKvqrq0fsqqfPbk\/wBH6pl0Vas7GlOanFSXMAAguAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZa9n\/T\/ABZTvXpGzyC7NV8lGfe\/0fqzUkHMY2nlsbVtJ7OS1hL+2S5MrOFMnUrW9TGXa7N1YvsNPnKK2\/Tl+Ro\/FG\/Q5YPuqrg8S3XrzX3NCADM6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZPiCEsJnrXO0Yv2VR+zuEuv+1+qNYR7+xoZKzna3MXKlPTVJ6PZ6loyszGvTdSFllbr1PdNNap6pn04o0oUKMKNNaQpxUYrwWx2VNgAACstcXXo527yNS6dSnWgo06e\/u8tduXRFmAS3cpTiorbqwACC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/9k=",
    "razonSocial": "DSPRINT FALTA REPUESTO",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN  VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PARA INSTALACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"29606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"29606\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R903\",\"id_control\":\"29606\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:19",
    "ubicacionGPS": "LatLng(lat: -23.6617497, lng: -70.3999588)",
    "horaLlegada": "13:19",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 13:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 13:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76250610

[11/08/2026 13:20:43] [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('76250610', 'EP2772', 1, 27729424, 1118, NOW(), 
				'08:00', '13:19', '13:19', 3, 'mantencion preventiva', -1, 
				'', '','1','11364',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786468843.png', '', null, 'COMPLETADO','LatLng(lat: -23.6617497, lng: -70.3999588)' )
				
[11/08/2026 13:20:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201438
[11/08/2026 13:20:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201438', 'EPS-I303', 1)
				
[11/08/2026 13:20:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29606 and
				    IDproducto = 'EPS-I303'
				

11/08/2026 13:20:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [11/08/2026 13:20:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201438', 'EPS-I305', 1)
				
[11/08/2026 13:20:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29606 and
				    IDproducto = 'EPS-I305'
				

11/08/2026 13:20:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                [11/08/2026 13:20:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201438', 'EPS-R640', 1)
				
[11/08/2026 13:20:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29606 and
				    IDproducto = 'EPS-R640'
				

11/08/2026 13:20:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                [11/08/2026 13:20:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201438', 'EPS-R903', 1)
				
[11/08/2026 13:20:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29606 and
				    IDproducto = 'EPS-R903'
				

11/08/2026 13:20:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R903';
                
11/08/2026 13:20:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201438'                    
				WHERE idllamado = 13735			
				TO ENVIO: tecnico@dsprint.cl, donkhapone@outlook.com


11/08/2026 13:20:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13735			
				
11/08/2026 13:20:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                
11/08/2026 13:20:43 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-AwoeKj+1ssiaRcyDruxu1Y7SIJ7Jdb9MpQGo2yV0yI6rwUu7JCZ
11/08/2026 13:20:43 Detectado modo MULTIPART/FORM-DATA
11/08/2026 13:20:43 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786468843.png
11/08/2026 13:20:44 Envío correo: OK
------------------

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13735
            GROUP BY l.idllamado;
            

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13: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 = 13735
                and cs.estado_control = 1;
                

11/08/2026 13:41:16 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 13:41:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/08/2026 13:41:16 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)
[11/08/2026 13:41:16] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 13:41:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 13:41: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/08/2026 13:41:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:41:19 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 13:41: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/08/2026 13:41:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 13:41:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:41:24 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 13:41: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/08/2026 13:41:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 13:41:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            
[11/08/2026 14:58: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 = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 14:58:18 - INPUT: {"rutTecnico":"7373114"}[11/08/2026 14:58:18] 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;
                

11/08/2026 14:58:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 05/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 05/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 31/07/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 30/07/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 30/07/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 30/07/2026
        )

)

11/08/2026 14:58:21 - INPUT: {"rutTecnico":"7373114"}
[11/08/2026 14:58: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;
                

11/08/2026 14:58:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13748
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2784
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 14:58:24 - INPUT: {"rutTecnico":"7373114"}
[11/08/2026 14:58:24] 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;
                

11/08/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13748
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2784
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14:58:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14:58:29 - INPUT: {"rutTecnico":"7373114"}
[11/08/2026 14:58:29] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 14:58:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13748
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2784
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 14:58:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:58: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14:59:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14:59:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 14:59:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 14:59:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            
=========================================
FECHA: 11/08/2026 15:00:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jBPl-S37DrN0AfOfkL+h.oxh5Sb-JcW9aMoh+WDyw4IfFz0eLJr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78863090",
    "serieinterna": "TO2784",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "942117",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega un toner y un cartucho de corchetes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13748",
    "observacion": "toner y corchetes",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC\/AQgDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABFEAABAwMCAwQHBQQIBQUAAAABAAIDBAURBiESMUETUWGRFCJxgaGxwQcVIzLRQlLh8CQzQ3KCosLxFjQ2YnNTkpOy0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgQDBwMEAwEAAAAAAAABAgMRBBIhMUFRYRMiMnGBobGRwdEzQuHwIyRy8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBfCQBknAC+ri6ruBoLJKGP4Zp\/wo8c9+fwzupSu7FKk1CDk+BzY62+agknmtdVHTUsLyxvEN3nY46+G+3Pkunpu8PutJIyobw1VM7gmGMZPfjpyI9y2bFb\/ALstEFMfzhvFJ\/ePP9PcuOxoo\/tB4IfVbVQF0jc7E4O\/+X4la6SukcaU6eScnvo\/X8FQiIsTvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIApauLrzrOmoRh1NQDtZBzBdz3\/yjz9iqVM6YHaXq91D8cZnDRg5wMu6+Xkrw0TZzV+9KEOb+NSmUxjtvtCDmkuENPhxHJpwdj5rs3m5xWm2y1Uhw7HDGP3n42C0dL290FE6vqQ41daeOQuzlozsN\/wCfJTHRNkVe\/UjBcNWdxERZnUEREBxb9fJLdJDR0cInrag+ozoN\/wCfJalJdLrQ3unoLqI3Nqxlj2\/suxy8\/mF808fvG\/3S5SAHgeIoj3AZHu2A95K+atHBcLNOPVLKnHF3bt\/RbJK+Wx58pzcXWT0voul7e5ToiLE9AIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi8tex+eBwdwnBwc4PcgPSIiAKY0h69XeJwMCSq2Hdu48veqdQNpvJtNvrYKePtLhNVFscYacjbnjHTB2WkE3FpHHiJqFSEpba\/B0qw\/8AEOro6EYdR28F0vPDndRt44HuKrFydO2d1ot5ZK7jqJnccpznfuXWUTa2XA0oQaTlLd6\/hBERUOgIi8ucGMLjyAygJnQnrWyqe8kyuqTx5\/uj+KXY\/eWsrdRNcHMpB2sgzyPPGPc3zXzRj2wWKrrJXer2r3OxyADQc7+\/4L3pCJ9U6svU8YbJVyEMPc3O+PDOB\/hW70lKR5lPvUqdPnq\/JFMiIsD0wiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDy5oewtdycMHfCk4H1ekq2cVUbqmgqZOITMBLmu8Tz5dD3e1Vy+FocMOAI7irRlbQxqUs9mnZo51NqG0VYzFcIfY93AfJ2F5qdS2ekwJK+Mk5H4eX7j+7nvXyp01Z6v+soY2kDA7PLMcug26L3TaetFKwMjt8Bx1kYHnzOVPc6lP9jbT3+P5ORJqeuub+wsVvkcHEj0iVuGjx7vPyWppegEOpK+OvbHLWQgPDxuASckjzHRWTWtY0NY0NaOQAwApn\/kftCyRhtbT4BHfj9WK8ZJppIwqU5RlCc3fX01KhERYnoBERAFhqncFJM7IHDG47nbksy169hkt1Swc3RPHwKlblZbMjKWcUf2ezbHiqZXMb7+fwaVXWelNFaKWmP5mRji2xvzPxUNYWm8Vdttx4hDRl80n\/d62f0HvK\/RlrV00ODBd5Z+SS+7CIixPRCIiAIiIAi0ZLzQQ3FtvfOBUOxhuOp5DPfuNvFbymzRVSTvZhERQWC+OcGtLnEAAZJPRfVwtXXA0dlfBG0umq\/wmgDOx5ny294UxV3YpUmqcHJ8DXm1jDHcDG2me+la\/s3TAH8\/d8P9lSBwcMtIIzjZR95sdRS6YoWU7HF9Ge0maw9SMud44OV09Gskbp+N8kjniR7iwOdnhGcY8wT71pKMct0clGrV7XJU5XO8iIsjuCIiAIiIAiIgCIiAKY1h\/R6i03A7Np6nDvfg\/wCkqnXB1nTifTkzsZML2vHnj5Eq9PxI58Ur0ZW8\/pqd5Fp2usjqrfTOEjTI6FjnNzuMgdFuKrVjeMlJXQREUEhYqmVkFLLNKcMjYXOPgBkrKuNquoFPpyqOfWeGsb7SR9MqYq7SKVJZIOXJHI+z+CP0erqP7UvDPYMZ\/n2KwUj9n5HoVYM79o35KuV6vjZz4L9CIREWZ1hERAFqXS4RWu3y1c35WDYDm4nkFtqA1Zc3XOqkjhePQ6IgF2AQ+U55d\/I+RKvCOZnNia3ZU7rfga+nIqm76pbVzDJY4zyuIwB3Y95C\/R1xtMWllstTHFo9IqAJJXDzA9wPzXZU1JZpaFcHSdOn3t3qEXMuuoKC0Dhmk45yPVhZu493sXL+9dU1EfpFNaYo4gMhsp9Zw9mQe5QoN6mk68IvLu+mpTqYvQE+srPA\/wDKwGQZzz3PL\/CF1bLeYbzTOkjHBLGeGWMndp\/Qrlas4qKvtt34eKKnk4ZMHfcjAHu4lME1KzM684yoqa1V0\/czatr3No2Wuny6qriGADfDc7n6efcuvbaMW+209ICD2TA0kdT1PnlcLTNHLX1MmoK4ZlmJFO05\/Dbvn54HgqdJaLKTRTm3VfHby\/kIiLM6giIgCLBUVlNSGIVEzYzM8MZxftO7kSxF1sZ0REJCIiALDVU0VZSyU0wzHK0tcPBZkQhpNWZJ6XpIob\/c\/RxiKnAhBLsk+P8Al\/nkqepqYaOB09RII42DJcVLWetp7Ndb62rkEcbZQ8E8zkuIA7zuF5jgr9YzsnqmmmtUbuKNg5yHl+u\/Tp1W0o3ld7Hn0auSnkgrybenrx6GQVd11VM5lC99DbmHBmI9aTw8fZnHeslPLV2HUUNBUVklTSVg\/DMgy5rs9\/t+YVLFFHBE2KFjY42DDWtGAApy\/YfqqysO3C4u9u\/8EUru1tC1Sm6cVNu8rr52tyKZTGtj2tPQ0QzmoqOQ54G3+pU6mb8HP1XZWuGYw4kZGwOf4DyVKfiNsVrSa52XuedJNEVzvcDQAI6nAxt+08cvcqhTFlBpdZXelxgSgTfEH\/WqOaaKnjMk8rImDm57gAPeVNTxEYXSlZ8G\/kyIpyr1fE+R1PaKSWvnHVrDwD6n+d1iprvfKW60cF2jgDa3IbHGPWYR1Pn4+5R2ciXiqd7LXrw+pUIiKh0nG1RdHWqzvfE\/hmlPZxkHcHqfcpqltUUt4obK3L2U7e3rO5z9iR7Bs33nkt7UlYyXUMET3Zht8ZnkadwXYyAR4nhHv89\/SNG9tFJc6g8VRXO4ySc4bnYfM+Xct13IXPLmu3xGXgvhb\/V6ehQriagvUtC+GgoW8dfVf1YIyGjOMn4+S37pcoLTQvq58lrdg0c3HoAuNpu3T1VXJf7i38afenaTns2HP0OB4e1ZxS8TOutNtqlDd+y\/uxs2TTrKF5ra5\/pNwkPE6R24YfD9V3ERVbbd2bU6caccsSXkaLZryExHhiuER7QdOLf6geZWG4POp9RC1xSu9ApRxzOYRhzvA+048151s6Rtxtfors1WXhjWncEloafPPku3p20CzWtsDsGZ545SO\/u9wW17RUuJwKLnUlR\/be79tPqca31s2lrh91XB5fQyOzTzkbMz3nljv7iq1rg5oc0ggjII6rDWUkFdSvp6hgfG8YI7vEeKmaeat0nVxUtdUia2Su4IXnnHv17sd3LfZU8fmbJvD6PWPx59CtRfAQRkHIK+rM7AiLh6puTqS3eiU54qusIijYD62DsT9PaVKV3YpUmqcXJnOoSdR6rkrjh1FbziHb8zuh8dwXeSLu2O1stFripRu\/8ANI7HNx5\/Qe5Fabu9NjOhBxjeW71Z0ERFQ3CIiALDV1cNDSSVVQ\/gijGXFZXODWlziAAMknopGaWXV15NLE57bTTHL3t27V388vDdWjG++xjWq5FZat7HIMlNX6hhulypnQ0FW88BJ2Jbgb+Gea\/RWtDWhrQAAMADotGvs9JX2v7vfGGRNA7PhH9WRyIXK0xcZYpZrHXuIqqUkRl37bB3Z8\/YfBXk86uuBz0YuhPLL93Hry\/BSKYv3qassrzyLi34\/wAVTqY1H\/1NY\/8Ayn5tVae5riv0\/VfKKdci+2iS4GnqaV7WVdK7iiLycHkcHyXXRVTad0bTgpxysgGU99qNWTMFVFBXdllzwPV4cDbkfBdmPRxqHiS73OorCDkMDiGjzz8ML5Dt9olRnbNMMeOzVTrWc2rWOGhh4SzZtdXuzBSUdNQwiGlgZCwdGjGfb3qfrgK3XlFC7ZtLD2ntO5\/RU6l7Lmv1hdK8EGOEdi3HI8hn\/KfNVhxZvXS7kFz+NSoXiWVkMT5ZHBrGNLnOPQDmV7U5rKtcy3x22D1qiteGhoO\/Dn6nA81WKu7G1Wp2cHImKqaSvhq67s3CS51LYYQf3WkHHef2B3bL9Ehjjo6RkfEGxwRhuTsAAP4KUko2DU1mtMTfw6CLtHHO3F+Yn3kDzWe91k18uTbDb3uDGu\/pcreQA5j3fPZbS71kefRfZZpPV7eb3fuzHAP+L72Z5GP+66PZjSSBI\/v\/AF8Md6rQABgDACwUVFT2+lZTU0YZGwbDv8T4rYWMpX22O6jTcFeXie4WCsrIKCkkqql\/BHGMk\/QLOprW8EklqimBzDDKDKzfBB2GcfzukVdpE1puFNyXAnJPTKu60F5rAY\/SqtojYARhrS3BHhv9V+kKU1K+GaWwyQOBhdMCwjkR6uFVq9R3SObCwyTmr32+AuFrJrHaaqOJoJDmFpPQ8Q+mfNd1Tes6lxt8VsgaZKiseAGN3OAc\/PHxVYeJG2JaVGV+R2bVxG0UfGcu7BnEe88IW2sNLAKWkhp28oo2sHuGFgul1pbRSGoqXbcmsH5nnuCru9DVNQheXAzVlZT0FM6pqpBHGzmT8h3qcskUt9vb7\/UNLaePLKWNx5Y2z8\/efBeKK2VupKttyvAMdI05gpujh3nw5e1VbWtYwMY0Na0YAAwAFd2grLc54qVeSk9Irbr1PSIizOsIiIAiKYu15qrnVOs9jBc\/lNUg7MHUA\/XyVoxcjKrVVNXf\/p4vl0lu1b9wWshxk2qJhuGDqP18lQW6ghtlDFSQDDYxgnq49SfateyWWnstGIYvXkdvJIRu4\/QeC6SmTWy2KUqcrupU8T9lyCndV25xhZeKQYqqL1iR+00fpz9mVRL45oc0tcAQRgg9VEXZ3NKtNVIOLNa2V8dyt0NZHykbkj909R5rhX3bV1lcTgEkfH+KxWF77DfJ7JUZ7GdxkpnHkf8AcDzHismrz6NXWiv5Nhnw4+GQfkCtFG07I451HOheW6av6NFQiIsT0CYq\/wCj\/aDRu6T05BPjh36BU6mL7+Fq+zTfvEs+OP8AUqdXnsjmoaSmuv2RjqJm01NLO\/8ALEwvd7AMqf0RC4WiWqkyX1MznZxjIG3zyt3VMvY6brH4z6oHLPNwH1WbT8QisFC0dYGu8xn6otIB97EJclf6nRUrQuN61pUVRLXU9ub2cfUcW4z58Rz4D2rpaluwtdscI3H0qcFkDRzz1Puz54XvTtqNptbY5TxVEpMkzueXH9B9VK0i2RU\/yVVBbLV\/b8khLdKl2p7gbdHx1VU\/sIn\/ALoBwSPc0b9FYWOyQ2WlLGntJ5N5ZT+0f0Xy16eorVVTVMQL5ZScOdj1B3BdVTOaeiKYfDuLc6m+vpcIiLI7Qta4U0dXb6inlGWSRkHy5rZRCGk1Zn5zSVD54tONec9lWuY0+HFGfqv0ZfmNs9V9nYfzNuTsj\/4v0X6ct63A8\/AO6l6fB4llZDE+WRwaxjS5zj0A5lTNhjN6vdTfZom9k09lTg9MY35d3XxKx6wurJHx2eOpEJc4GokJOGNxkAgc88\/LvWKK5VldELVpinMNLEOE1Um2Op9mfPfoojFqN+ZNWtGVXLuo8OLf8HcvWoaSzxlpIlqSPUgadz7e4Lm2ux1dzqxdb\/6zx\/VUx\/Kz2j6ea37RpqktjvSJSaqsJy6eTfB8B09vNdlVzKKtE2VKVR5qu3BfnmERFmdQREQHKvV\/p7QwMDTNVPHqQtzk+3HJcxlqv12zPcriaKM7tghH5R4\/xyvNytV3p9Quudup4asyMwDMR+EeWwyOnt5r7LadS3aPs7hXxUsDj60cI3I6jbn59VskktGedNznJqUW+SWi9WcN9tkrbqLdarjU1QYMTTPceBgyfP6rsw6QuFvDhb72+IPIJbwEA\/FUNutlJaqYU9JHwt5lx3c495PVbaiVV7ItTwUErz36N6Ex2+qrVhr4IrnCNuNuz+\/+djyWxRavoZpvRq1j6CcbFs35Qe7O2PeAu+tWttlDcQBV0sc2AQC4bgeB5hRmi90a9lUh4Jej199zYjkZLG2SN7XscMtc05BHgV6UxUaZqbZIauwVL43A5NM85a7cbZ93XzW5ZtSxXCY0VXEaSubsYn8nHrj9PmocdLotGtaWWorP2fqeNW211ZbRVwAiooyZGEHBx1+Wfcte4yjUWinVLR+KxvaEDo5v5vhnzVMpfT7m269XGxyerG55lgbjGQeYz12x5FWi9PIyrQSqdJ6Pz4HXsFZ6dY6SfOXGMNdnvGx+S6KltIPNFWXGzSH1oJS9gxzbyJ\/+vmqlVmrSNsPPPSTe\/wCCY1H\/ANTWP\/yn5tVOpjUW+p7GBuRITj3hU6S8KK0f1KnmvhE5rqUx2ANH9pO1p8ifou7ExlHRsYXepDGATjoB\/BT2tfxobfSE7TVQy3qenP8AxLNq6qkNHFbKY5qK13CG\/wDaOf0VrXikZueSpUnySNW0RO1DfpbzUNJpKd3DStOeYOzsfH2nwVWtegoorfQw0kP5Im8Oe89T7zkrYVJSuzejTyR13er8wiIqmwREQBEXwkAZJwAgPzSzR8Wr4YjkNZUvcG9xGTy9wVfqPUTLTF6PT\/iVsowxo34M9T9AoirqX0epamooHhzxO\/snDDuZI27+asdN6efTZuNzHa10p4hx+sY\/4rqqJaSZ4uFlNqVKnvffkjnWXR8lU\/069F5c88XYk+s497j9FYQwxU8TYYY2xxtGGtaMALIi55Tctz06NCFFWj9QiIqm4REQBERAEREAREQBERAFx79YWXWDtYOGGuj3jmGxPgSP5C7CKU2ndFJwjOOWRwtO3t9Yx1DcPw7hBs9pGC8d\/t71ram4rZdKC9sa4tjd2U+D+yeX1+Cz6js805judtyyvptwW7GRvd7fnyWWgrqTVVkkjkbguHBNH+47oR5ZC008S24nI1Jp0ZPvLVPnb78zQ1FHJQ1tLqOhb2jWANm4eTmHkfI48lSU1TFWU0dRA8PjkbxNcFwNLuM9uq7NWjtTSvMTg7kWHO3z9mQtW31TtJ3I2uueTQzuLoJ3HZvt7vHx3UuN9OKIhUyPtP2y36P+TYuoMuubVHseGIvxn+9+nwVMpaEsqvtBkkY9sjYabYjBxsP\/ANfFVKpPguhth9XN9WTOsm9n93Vjs9lT1GXkDPcfofgvNgpZbrdJb\/WxYDhw0zHAbDofcNs+JVLLDFMzgljZI3ue0EL2pz92weHvVzt6cuoREWZ0hERAERcO7anp6KT0SiZ6bWv2bFHuGnxI+Q+ClJvYpOpGmryZ1K6vprdTOqKqURsaOvM+AHUqEvmoq27x9nEDTUjjhsf7cx\/T4e0rDVGqq7gwVLvvG4uOG0zN44fA42OO7l3noqqx6abQyivrnmornDOSfVj2xgfLPkt0o09XuebKdXFPJDSPH+\/b6kjp2nkptV0sE8fBIx54mnoeEr9NUJTAO+0lwP8A6rz\/AJCrtVrO7T6GuAjlhJLmwiIsT0AiIgCIiAIiIAiIgCIiAIiIAiIgCnLhZquguP3rZAONxJqKcnAk67fzzKo0VlJozqU1UVmSth9MqtRz3GaikpWyQ8DwW7cQIzufHw+Coa+30typzBVRCRmcjvB7wtlEcru5WnSUYOL1uaNts9FaWvFHEWdoRxEuJ5clvIihtvc0jFRVoqyCIigsERYaqrp6KB09TK2KNvNzihDaSuzMtSvudHbITLVztjGNm59Z3sHVSd31zJI10VrjMbQcdu8bn2Dp7\/Jc2h05d75L6RMXMY45NROTlw8AdytlS4y0OCpjbvJRWZ+xvXTU1XcoyyOQW6jI3cTmSQdwA\/27ysVqoKyvj7G0U7qKmdtJVy\/1kg8D3eA95VJbdI2qgaC+L0mUbl8oyPcOS7YAAwBgBS6kUrRRWGFqTeas\/wC\/b0OfaLJR2aDs6ZmXuHryu\/M\/9B4Looixbbd2ehGMYLLFWREUERk+0adw\/s3Pcf8A24+qt1J2tzT9oNxyMHsSBkdfUVYr1N15HLhFaMv+mERFmdgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAaN3rKmht756SlfVTAgNja0nn1wN1EvteotSVXa1Ub4mjGO1BYxoPcOq\/REWkZ5dkctbD9s+9J25HCs+k6C1ESvHpVQOUkjdm+xvT2ruoio5Nu7N6dOFNZYKwREUFwiIgIy3Aj7RKvIx+f5BWa4cVimi1ZJdmvj7CRmC3J4gcAd2Oneu4rzadrHNhoSgpJ82ERFQ6QiIgCIiAIiID\/2Q==",
    "razonSocial": "COLEGIO ANTONIO RENDIC",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "RENDIC",
    "correoContacto": "isabel.vega@rendic.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1057\",\"id_control\":\"29603\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"29605\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:59",
    "ubicacionGPS": "LatLng(lat: -23.699307, lng: -70.4218889)",
    "horaLlegada": "14:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:00:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:00:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78863090

[11/08/2026 15:00: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('78863090', 'TO2784', 1, 7373114, 942117, NOW(), 
				'08:00', '14:38', '14:59', 10, 'se entrega un toner y un cartucho de corchetes', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786474813.png', 'toner y corchetes', null, 'COMPLETADO','LatLng(lat: -23.699307, lng: -70.4218889)' )
				
[11/08/2026 15:00:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201439
[11/08/2026 15:00:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201439', 'TOS-I1057', 1)
				
[11/08/2026 15:00:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29603 and
				    IDproducto = 'TOS-I1057'
				

11/08/2026 15:00:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1057';
                [11/08/2026 15:00:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201439', 'TOS-I1056', 1)
				
[11/08/2026 15:00:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29605 and
				    IDproducto = 'TOS-I1056'
				

11/08/2026 15:00:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1056';
                
11/08/2026 15:00:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201439'                    
				WHERE idllamado = 13748			
				TO ENVIO: micorreo@miempresa.cl, isabel.vega@rendic.cl, donkhapone@outlook.com


11/08/2026 15:00:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13748			
				
11/08/2026 15:00: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/08/2026 15: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13748
                and cs.estado_control = 1;
                
11/08/2026 15:00:13 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-jBPl-S37DrN0AfOfkL+h.oxh5Sb-JcW9aMoh+WDyw4IfFz0eLJr
11/08/2026 15:00:13 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:00:13 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786474813.png
11/08/2026 15:00:13 Envío correo: OK
------------------

11/08/2026 15: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:45 - INPUT: {"rutTecnico":"7373114"}
[11/08/2026 15:00:45] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:00:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:00:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 15:00:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13748
            GROUP BY l.idllamado;
            

11/08/2026 15:00:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:45 - INPUT: {"rutTecnico":"7373114"}
[11/08/2026 15:00:45] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:00:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:00:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                

11/08/2026 15:00:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13748
                and cs.estado_control = 1;
                
[11/08/2026 15:01: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;
				

11/08/2026 15:01:18 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:01: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;
                

11/08/2026 15:01:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:01:18 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:01: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;
                

11/08/2026 15:01:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 15:01:56 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:01: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;
                

11/08/2026 15:01:56 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 15:01: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 15:01:59 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:01: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/08/2026 15:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:24 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:02: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;
                

11/08/2026 15:02:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 15:02: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;
				

11/08/2026 15:02:27 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:34 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:35 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:35 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:38 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:40 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:40 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:42 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:44 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:02: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;
                

11/08/2026 15:02:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

[11/08/2026 15:03: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/08/2026 15:03:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:09 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:09 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:09 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:09 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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/08/2026 15:03:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:10 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:10 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:10 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:12 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:12 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:03: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;
                

11/08/2026 15:03:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13741
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 09:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 96808790
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2500
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:03:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:03:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:05: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:05:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:05:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 15:06:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-RlyimSk5-Z00-dw7QvrtIJaSD1ZerXearvThPIVa2Q1s-SgiQkC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "96808790",
    "serieinterna": "EP2500",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "167096",
    "contadorColor": "425796",
    "contadorScanner": "0",
    "detalle": "•El cable de red estaba suelto, se cambia por uno bueno\n•Recepciona Yazmin Vega\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13741",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAMkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCAQf\/xABCEAABAwMCAwYDBAULBQEAAAABAAIDBAURBiESMUETUWGBkaEicbEUMsHRFSMkM0IHFlJygpLC0uHw8SU2N0NTdP\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgQDBgYDAQAAAAAAAAABAgMRBBIhMTJBUSJhcZHB4RNygbHR8DOh8VL\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIiz6C80tyraqmp+J32Uhrn4+EnfkfLzU2ZVySaTe5oIiKCxP6qudVSR0tFQShlVVyhoI5gcvckLfaCGgE5ONz3qWpXNvetZqkOLqe3M4GdxduPrxegVUryVkkc1FucpTvpey+nuERZF9votPZQwwOqKqb93GM4x3lVSbdkbTnGEc0tjXRZlguzrzbjUPh7J7HmNw6EgA5HqtNGrOzJhNTipLZhERQWCIiAIiIAiIgCIiAIiIAiIgCIiA89wqhRW+oqScdlG53mBssbRVKYbH27weOpkdIS7mRyH0z5r91rUugsDomE8VRI2PbmRz\/BbFvpRRW+npgMdlG1vmButNoeJy8WI+Vff\/D0LOv9wFss1RUjPHw8LMf0jsPTn5LRUrqEm6ait9nbxGNh7aYAbe\/gD\/eUQV3qXxE3Cm7bvReLNHStuFvscOWkSzjtZMjffkPTHutlFjXzUMdqLaeBn2iskHwxD+Ed5UazkT2KFNJ7I2VGXSpbBq2uqHgZpqEmP+sWgD3cqSzXNt3t7axsZjDnEcJOcYULqqWKv1G5lE4yOcGxEt3DncsDHPotKUe00zlxlVfCjOPXQo9CTxPsr4WAiSKUl+xwc8jnl09lTLJ03aTaLSyKRoE8h45euCenkNvVaypNpybR04eMo0oqW9giIqG4REQBERAEREARF8ve2ON0j3BrWglxPQIDnV1cFDTPqamQRxMGSSo6bVVzlngr46fsbf23ZtDtzJz\/AA8ge9d+GbWdxDyHRWmmfsDsZXf79Au+s4WR2+308LA0Coa1jGjpg7ALeMUnZ7nm1qk5wc4O0Vt3+xUoi41lVHRUktTMcMiaXHZYHotpK7OyKe0rfKq9GsdUNja2NzSwMB2znb2HuqFTKLi7MpTqRqRU47MmNV\/tF0s1E3m+fidjmBloz9fRU6mK\/wDadfW+Hm2CEvPgfiP+VU6vLZIyo6znLvt5IKW0y0199ul2fjd\/ZR\/L\/gNW7dqv7Daqmq3zHGSMHG\/Ie6ztHUhpdOxOcMOnc6Uj57D2ARaRbIqdqtCPS79Ea1bVMoaKaqkGWwsLyO\/HRS1jo3utFwvtXg1NTHI5jiPutwcnzPsAvXrOV8lNR22N5a6smDduoGNvUj2WheI20WmKmGEYYynMbR4YwpjpFd5Sp26jb2iv7fsYNFchaNBMlY4Nnnc9kXfkk7+QH0Xk0PazU177lKMx05wzO\/E8j8B9Qs6ngqL86htdL9ymjOXEHDS45cT646cl\/RqChhttFHS07cMjGM43cepPiVpN5U1zZyYeDrTjJ8MUvM9KIi5j2AiIgCLnPUQ0sLpp5GxxtGS5xwApqfU1ZdZnUmn6ZzzyNTIMNb44PLz9FaMWzKpWhT0e\/TmUctVTwSRxyzMY+U8LGudguPgF2U7btJRRVArLlUSVtUCHZLjwg\/U\/72VEkklsKcpyV5qwREVTUKX1DWTXSvZp6gI4pBxVEgOzAOh9s+QW3drgy12yasfgljfhaf4nHkPVZmkqGSOikuVTk1Nc7tCTuQzpz9flhaR0WY5azc5Kkue\/h7mzR0kNBSR0tOzhijGGhT1\/zXaqtNvHxNjPbPaO7Od\/JvuqhS1oIr9a3KszxMp29k3HIHl\/hd6pDnIYhK0aa5teS1KlTOuqrsrRHSg4dUSjbONhuffCplAawqPtl3ma0HgooQ0kHm5xH58vAqaSvIrjZ5aLXXQ2dC03ZWqabPwyynhGMHAHM+qpln2GmFJYqKHGCIg4juJ3PuStBUm7ybNsPDJSjHuJin\/WfyiVXXs6YeWzfz91TqYof\/Ily\/8AzD6RqnUz5eBTDbS+Z\/cnNcT9nYRCD8U8rW4HMgb\/AIBbtLAKWkhp28oo2sHkMKb1S9k99tFG+QMY15lkJOBw5G\/hs12691bq+0UZ4GTGpkzjhgHF78vdWytxSRmqkI1Zyk7bL19Tw6jdJSait9fLTST0sDDtGzJ49+vzLeqz77frrW21x+xGiopAGl0gy55PQZx3dOi0W3vUN0H\/AE21CnjcBiWfp4jOM+hWQ+gul5v4ttfcTKYG8Uj425bGcZxgADPILSKtxcjkrScr\/Db7T6W18Xqb+naWksFnbJVzQwTVAD5C94G3Qc9+fuu02sLJC8t+1GQt\/oMJHryXCm0TaonB85mqnde0fgH0x9VqwWe2UwAhoKduOvZgn1O6zbg3d6nXThXjFRikkvr+DGdru17COCqkcegYPzX5\/PWIDiNrrAz+lwjl0VBNPSUMfaTSw07D\/E4hoKwa7XNsp8tpWSVT+hA4G+p39kST2iRUlOnx1Uvp7n63W9va8sqKaqh3xlzAfxX7WaxpOFsVqY+uqZNmMaxwA+eRlZroNRargDpTFR0ZOWtII4vHqT7BaVi0iy01LaqSqdLKARhmWDpz335KzUFvuZRqYmbtHhfO1vU4wacrbvO2s1BOXdW0sZw1o7jjl5eqpYKeGlhbDBG2ONowGtGAF0RZSk2d1OjCnqt+vMIiKpqEReC9XFtqtU1UfvAYYO9x5dCpSu7FZSUYuT2RhV7zqPUzLY0k0dCeOflhzh09Tj1VW1oa0NaAABgAdFiaUtrqG1dvMP2msPayHG+DyHvnzK3Fab1suRjh4vK5y3lr+EcK2pbR0U1S8jhiYX79cBYmiqd7LO+qkyX1Urn55bDb65X3rSpNPp57QcdtI2P6n8Fr0FMKO309MBjso2t8wFO0PEjixHyr7\/4dJpWU8Ek0hwyNpc4+AGV\/NmRPrmU\/G39bda0vdgfwg49Mud\/dVdrKsNPY3QMBMlU8RtAGTjmfpjzU21ldFqCCnt9IaiS2whjWH7ofjLidwB8Tj1WlJWVzjxks1RR6evsmf0JrQ1oa0AADAA6LNrdR2mgyJqxhcCRwx5cc923LzWSbLqC7OabpcRTQ9YoDufDbbw3JWnQ6YtNA34KRsrs545hxn8lnaK3Z1560+CNl3\/glqe\/OfqusuNvoJqvt4gxsYGHDAYMnGdvh91rOOrroz4WwW2N3efiI9yPZftI0Q\/yh1YaA0SUw25dG8vRUz3tjjc95w1oJJ7grSklayMKFKUlLNJ7vbQg6Ow\/pDVM9HX1ctYymZxPkJIydvh5nbJPoVY0Vot9uaBS0kcZAxxYy4+Z3WNo+N9Q64XaUfFVTkN3zgA5\/HHkqZRUk72NMJSgoZ7au\/lyPFdrgy12yasfgljfhaf4nHkPVZukaB0FuNfP8VTWntHOPMg7jp15rM1pconV1LbZHObA0iWctBOR0GNs7Z9Qun2i+ajAbQMNtt2MCR2znDwx+G3ipUXk8Skqydd88uiS68zduF+ttsBFTUt4x\/wCtnxOPhj81iS6gu90gc+20jaKlH3qupcAAO\/fb0yvmSj07piPNXitqyM8LwHOJ\/q8m\/Mr9itNz1JK2puzjSUY3ipWbEjx7vmd\/kpSitSs6labyp69F6vl9DANHJdKjsaR89zqc\/HUPyI4\/ln6n0VTZdHUdvxNV4qqgHIyPgZ8h1+ZW7S0lPRQNgpomxRt5NaF2VZVW9EaUcHCDzT1f7+6hERZHcEREAREQBStxH84NUw24DipKH9ZPtsT3cvkPVUVwq20NvnqncomF3LOT0WNoyjfFan1szuKWteZHHG+ASB+J81pHRORy1u3ONLlu\/Be5QoiLM6jD1Faqq6z25sLWGGKbimJO4G3Lv2z7LcRc5pWU8Ek0hwyNpc4+AGVN20kZqEYyc+voTF4kbX6tpqZ\/xQW6I1EoIzvji\/y8+9dtGROlp6y5yDElZOT5A5+pPosemc9um7xep+Jste8xs35tJwcepH9lVmn6b7JYaOEjB7IOI7i74j9VtPSNjgodutnfe\/PRf0aKIiwPTJe8u+w6ztVYdmztMJ+eSP8AEF7dW1ppLFJGzeWpPYtb1Oee3yz6pqq2y19sEtK0mppXdrHw54jjmB4\/kp2e7fbrnBX3WIw09CzaItyZZeRAB2+8PINW8Vms+h5tWbpOcP8Arb1K6y0f6Ns1NTPwHRsy\/wACdz7krCvurXt7WmtDe1dGD2tQBlsfTb8+XzXwYLrqeM1FdMLdawSQwHDnDvOfqdvBZ95qKCanhsWn4u145OKRzGkl5A2369ST4KYxWbXUrVrSVK0NFy6vwXqenT9uom0Tr5fZGudK4mMzuyCB1weZJyvVJfrpe3mmsNIYoPumqlGAPl0HuV92\/SclQYqi+TGZ0bQ2OmYcMjA5Db6D3VOxjI2BkbQxrRgNaMAKspK99zSjRnkS4V\/b\/BjWfTNLbXfaZ3GqrCcmaTfB8Pz5rbRFk227s7YU401ligiIoLhERAEREAREQE1q2V9S+hs0RINZKC8g4+EEf8\/2VQwxMp4I4YxhkbQ1o8AMKbiabhr+WUgFlDBwtORz\/wCXOVQtJaJI5qPanOffb6L3CIizOkKe1lVyR2yOhgBdNWyCNrRzI6++B5qhU8+21dZrJtZURObSUsQ7E8Qw4+XiT6BXha92c+IzOGWPPQ8WpqYUtmtdnjP7yVrNiSTgYOB13d9FWNa1jAxow1owB3BSN3rqSfWlA2SeMQUrS57+IENducezVQyXy1RA8dwp9uYEgJHzA5K0k7Iyoygpzd+i8ke9FPVOtLZG7gpWzVkhzwiJmBkfPf2Kx7zqC+uiYRGLc2T93GDmWTIHhnbvwFCpyZaeLpRTad\/D9sUl9v1PZKbieQ+oeP1cWdz4nuCiaOqrblWOrBRy3Cr4vhaW\/qYu44HnzwPmqGzaTbLGKy9mSoqX78EjyeEdM9SVTQQQ00QigiZFG3k1gwArZow0WrMXSq4hqU3lXJcyYdp65XJv2i\/3JwiYOLsIeTfw9j818aLt8Lp6u5sh7OMvMcDSc8Leu+dzy3+a9mq7jKI4rNSDiqa74ef3Wk499x8gVr2ugZbbbDSNx+rb8RHIuO5PrlHJ5NeZMKMHX01y7vvPWiIsT0AiIgCIiAIiIAiIgCIiAmLH\/wB4Xny+qp1LUzha9cVLKj4WV7AYndCdtvr7Kne9kbC+RwY1oyXOOAFpPdHLhtItdG\/ufSLCr9X2qjBbFL9rl5BkO4P9rl6ZXjcdSX\/AaBaaRw3OSZCPY\/RQoPd6FpYiF8sO0+79sal11Fb7SC2WTtZ+kMe7ifHu81kMpr\/qRwfWPdbaH\/5MJD3j\/ff6LVtemrdayJGRdtPz7aXd2fDoPqtdTmUeEr8KpU\/kdl0XqyJ01Z6Cqut0D4BPTQv7OPtRnO53Hp7hULdM2VkvaNt8fFkHmSNvDOF3tlpprU2ZtPxntpC9xe7Jz3L3JKbb0Yo4eMYJSirmfUyUNht0lQ2GOKOMbNYAC49AsjTtsmral1\/ug4p5t6dh5Mb0Ppy9eq+buz9M6spbW8A09KztpRg7+B6YPwjzO6pJZoKSAvleyGJg5uIaAE4V3sqkqlRt8Mfv1+h1WZfL5T2WkMkhDpnD9VFndx7\/AJeKzq3VfbSmkslO+tqCCO0A+Fnj4+wXS0ackiqhcrtN9qrubc7iP\/UeyKNtZFpVnN5aPnyX5PzT9qqHTuvN0PFWTbxsI\/dN3HlseXcqFEVJO7ubU6apxyoIiKDQIiIAiIgCIiAIiIAiIgM+7WWjvETW1LPiZ9x4OCP9FlfzMZKSyqulXNDnLY+Ll65+iIrKclomYzoU5u8lqbFBZ7fbB+yUrI3EYL+bj5le1EUNt7mkYqKtFWCIigsEREBj3bTVHdpxUPfJDNjBfEQC4bc\/ReOLQ9ua\/M89RO3GOF7h+ARFdTkla5hLD0pSzOOpvUtHT0UIhpoWRRjkGhdkRUNkklZBERCQiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "ZONGE",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JAZMIN",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NINGÚN USUARIO PUEDE IMPRIMIR.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56998229366",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:05",
    "ubicacionGPS": "LatLng(lat: -23.6184588, lng: -70.3916966)",
    "horaLlegada": "15:02",
    "horaDespacho": "12:08",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:06:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:06:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:96808790

[11/08/2026 15:06:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('96808790', 'EP2500', 1, 24456550, 167096, NOW(), 
				'12:08', '15:02', '15:05', 15, '•El cable de red estaba suelto, se cambia por uno bueno
•Recepciona Yazmin Vega
', -1, 
				'', '','1','425796',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786475164.png', '', null, 'COMPLETADO','LatLng(lat: -23.6184588, lng: -70.3916966)' )
				
[11/08/2026 15:06:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201440

11/08/2026 15:06:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201440'                    
				WHERE idllamado = 13741			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


11/08/2026 15:06:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13741			
				
11/08/2026 15:06: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/08/2026 15:06:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                
11/08/2026 15:06:04 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-RlyimSk5-Z00-dw7QvrtIJaSD1ZerXearvThPIVa2Q1s-SgiQkC
11/08/2026 15:06:04 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:06:04 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786475164.png
11/08/2026 15:06:04 Envío correo: OK
------------------

11/08/2026 15:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:12 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:06:12 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:06: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;
                

[11/08/2026 15:06: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;
                

11/08/2026 15:06:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:06:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:06:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:06: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;
                

11/08/2026 15:06:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:06: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;
                

11/08/2026 15:06:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13741
            GROUP BY l.idllamado;
            

11/08/2026 15:06:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:06: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;
                

11/08/2026 15:06:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13741
                and cs.estado_control = 1;
                

11/08/2026 15:07:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:07: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/08/2026 15:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:07:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:07: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/08/2026 15:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:07:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:07: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/08/2026 15:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:07:49 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:07: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/08/2026 15:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:07:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:07: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;
                

11/08/2026 15:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:07:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:07: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;
                

11/08/2026 15:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:08:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:08:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:08:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:08:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:08:01 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:08:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:08:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:08:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:08:01 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:08:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:08:01 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:08:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:08:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:08:02 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:08:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:08:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:08:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:08: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/08/2026 15:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:02 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15:10:02 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:10:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 15:10:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:10:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:10:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:10:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13754
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:06
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3122
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:10:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 15:11:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rBZsx1Psvysc5ZMSo_iYnUs53Xic4a.RsQ6UnAMmId44eVG-guF
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3122",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "12327",
    "contadorColor": "17920",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva y limñieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13754",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADYARYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAwUGBQEGAwkBAAABAAIDBAURBiESMUETUWGBkRQicaGxwRUjMtHwQhYkM0NS4TRiwgclNVN0gpOi8bL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBQcEAgIDAAAAAAAAAQIDERIhMQQTQVFhIjJxkbHR8IGhweEUQiMzUmLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEUG53ihtMYfVzBpI91g3c74BUPtN+1KR7GDbbe7\/NJ9947x19MDxU1BvPgUVK8YvCs3yXzIvK++222gipqmB4\/y2nif6BU41Rcblxiy2h8rWnAlmOGn6eHVTaDSVqocOdCamXOS+f3t\/hyV0AAMAYAXbxWmZDDXn3nhXTXzMwIdZVg9+opaIdwAJ+QP1X02fU7TmO+MOeYc3l8itOi5jfI7\/Gjxk\/NmY7LWVJhwqKStA\/pIAz8m\/VGatqKMht5tU1Lk4EjQS13wz+\/etOvEsUc0bo5Y2yMcMOa4ZB8l3EnqhuJx7k39czlR11LXwCalmbKwjOR9xzCkLM12mH0cnt2n5HU9Q057Eu9x\/Pln49dvgpdl1C24OdSVsfs1fGeF8RBAPw\/ZcccrxOwrNSwVFZ\/Z\/ORdoiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi8ySMijdJI9rGNGXOccADxKA9LOXTUr3VP4bZWe01jjgvAyxnf8AH6BRamurNVVbqG2PdBQRn86p6v8AAft6q\/tVopLRTdjSs3P65HbuefEqyyjrqZHOdZ2p5R5+3uVtr0vHG\/2u7P8Abqx25Mh4mM8ADz\/myvwABgDAC+ooOTepfTpxpq0UERFwsCIiAIi+EgDJOAEB9VJqCwNubG1NKRDXwkOjlGxdjkCfoei53LVtDRv7CkBrqg7BkRyM\/H9sqKKXU96LX1M7LZTnP5ceePH87yPgrIxaz0MdWrTqJ00sXh7kyyagbVQyQXJzaatptphIQ0HfGfp6+Ktoq6knIENVDISce5IDusXftJi3UPt8c8tU5jgZxIf1DvGN+fj18FawaUsNyo46qnjliZMwObwSk49c7qUow1uV06u0J4GldddTTIsjHUXPStWyKumNVa5X8LJXHLo\/v5cttlrQQRkHIKrlGxrpVVO6tZrVH1ERRLQiIgCIiAIiIAiIgCIiAIiIAiIgCIvL3tjjdI9wa1oJcT0CA8zTR08L5pnhkbBlznHYBZOQ1usqp0cTn0tpjdu7G8pH8+A+KOkn1lcjFG58Vpp3AuOCDKf56BayGGOnhZDCwMjYMNa0bAK3ueJjz2h\/9PX9Hiko6egpmU9NEI42DYD6nvK7oiqNaSSsgiIh0IiIAiKgvOpPZ5\/w62Re1V7vdw3dsZ8fH6dV1RbdkV1KkaavInXe+UVmiDql5L3fojYMucqT2e96mcTVF1utrtxGP1vHj\/vt4KZZ9NdhP+IXST2qufueLdrD4eP06LQKd1HQoUJ1s6mS5e\/sQrbaaK1QiKkhDe953c74lTURQbvqaoxUVZI5zQsqIJIJBlkjS1w7wRgrN6RkfR1NfZZXlxppC6PI\/pzv9j5rULMty3\/tDfwjZ1Nl23h\/+Kcc00Zq3ZnCa528y4vNvF0tU9IcBz25YT0cNwoOkK19bYI+0cHOgcYs78gARnyIV4sxoH\/wOb\/1Lv8A+Wou4zs8toi1xT+1jToiKs0hERAEREAREQBERAEREAREQBERAFkqyrn1ZWut1veY7fEQZ5\/9fgPt6rvqG51FZVssNreDNNtO8f5be7Pwzn\/dXVrtkFpoWUlOPdG7nHm53UlWLsq\/EyTbrycF3Vr16e51o6OCgpI6WmZwRxjAH3K7oirNSSSsgiIh0IiID4SAMk4AWcrNRVVZcPw6wwtne0\/mzu\/Q0dcH7+gKjXK5Veobg60Wh3BTxn+8VHQ7\/T6\/BRiHTPdp3TwayJu1VVHm7v39R9NldGFtTz6u0OWUNOmrfJflk663irulWbPZD73KoqGn3WDqAfv6K1stipLLTlkI45XfrlcN3fsPBdrVaqa0Ubaenb4veebz3lTVCUsrLQ0U6TvvKmcvTwCIigaAiLhV1lNQwmaqnZCwdXHGfh3ocbSV2d1l9PuFx1LdLq0h0YPYxu7xtuPJo9VyqrxX6kc+hs0LmUrjwS1TxjbqB3fX4LQ2u2wWmhZSQZLW7lx5uPUlWWwp31ZlUt\/UTj3Vx5voSKiQxU0sg5sYXDyCoNCs4LAXf653O+QH2Vre5RBZK2Q9IHgfEjAUPSMPY6bpcjd\/E8+bjj5YRdxkpZ7RHon+C6REVZpCIiAIiIAiIgCIiAIiIAiIgCptRXp1sgjp6ZhkrKo8ELR0PLPz2VhcK6G20MtXO4BsbSQM44j0A8SqDTlBLcat+obg0F8x\/u7DvwDOM\/t69VOKXeZmrTk2qcNX9lzLDTlkFnoyZiH1cx4pX8\/LP83VwiKLbbuy6EIwiox0CIi4TCIodTd7dRg+0VsDCP6eMF3oN11JvQ45KKu2TFmr9c6isr47Da5AJZf8eUH\/AA29R6c\/TqvNw1vQMp5GUBkmnIxG7s8NB8c7\/JZ2iutxt3a08dDILhXuyZpAQ85JHujHfnfvV0Kb1Z520bVB9iLy429PqW1cfYWRaasOXVEp\/vEwO478np49wWltNqp7RRNpqdu\/N78bvPeVlrbpvUlI15hqqeldKcvcTxPPng\/XqrD+yNVUf8ffaqYf6W5A8OZP0SVtLnKO8Txbt34cEl81L6e40VKcVFZBEe58gBVfNq2yQ5HtoeQcYYxx+eMLjBoqyw444pZsf+ZIfthWENjtVOMR2+nG2MmMOPqVDsI1X2h8EvN+xUO1xRPPDSUVXUP6ANA39SvP9oNQVRxR2B0fcZyQD68K0zGMjbwsaGjuAwvSYo8EN1Vfen5JfszAp9X1oxLVU9Ex2zgwAuA8MZ+q7U2jqFsnb3Caa4THm6VxA9M59SVoUXMb4ZBbNDWV5eOf6OcMMVPGI4ImRMHJrGgAeQXREUDToZzW9Q5llbTMGX1MrWY7wN\/qAr2kp20lHDTtADYmBgx4DCzt44rhrK20Q3ZTDtngnAznPn+kevxWoVksopGal2qs5eC8v\/QiIqzSEREAREQBERAEREAREQBfCQBknAC+rOanuU73x2O3gmrqh7xBxws3z8gfJSjHE7FdWoqccTIbi7V1+DRj8MoHZzjaU93nj0+K1NRUQ0NG+eUhkMLMnHQDoFAaaDS9mZG+TEcewz+qRx\/nkFiq241WpLxDDVSCkpeIENc7hbGznxEnYnHXx8Vao4\/BGKVVbOs85y+eSNzYrhUXS2NrKiBsJkceBrSTlvf65Vis1Pqyjp+zobPSvrZGtDWNjBDWgDA8T\/N1z\/CtQ3l\/Hcq32KnPOCB25Hccfcn4KDhxeRdGvkox7T6aeehaXHUtqtoIlqRLIDjs4SHO8+g81Vm\/X25tP4TauyjOR2s5+mcD6q0t2mrVbQDFTCWQHPaTAOd5dB5K1S8VorncFafelbovcyx03d7kP+97w7gPOGD9P2HyKmU+kLJSN4nwGXh3L5nk+oGB8lerN6uuMjYobTSPxUVhw\/uEfI5PTPf3ArqlKTsiNSlRpRc5K765+pS09TQurpr4+COKho3dnSQsZw9o\/mOXXqSe8K503bKiaZ18ugcayUnsg7+hmO7pzPl8VWWe3w3m59iPetdt2YMACV\/ee\/OM\/DA6rcKVSVskU7LSxduWi+75\/TRBFSXq8VNHdLfQUbY3SVL\/AH+05BvL9z5K7VLTSub4zUpNLgERFwmEREARVt3vtFZog6ofmRwyyJu7nfsPFUrKe\/6kbx1Mv4bQu5RsB43j+d+PgpqF1d6FE66jLDFXfJfnkXNXqK0UTiyeuj427FrMuIPkuNNqyzVUwiZVcLjnHGwtG3jyX2h0taKGIN9kZO7q+cB5PrsFF1XS2ymsEznUsLHnDYi1gB4s9MeZ9V1KDdkVSlXjFzdlbhn6nDS2a+8XS7ndr39lGd\/08\/oGrUqh0W1rdNwlowXPeXeJyR9AFfLlTvMs2VWpJ88\/PMIiKBoCIotfc6O2xdpWVDIh0BO7vgOZRK5xyUVdkpFT2bUAvVTM2GimZTxjLZ38nHPLH+6LrTTsyMJxmsUdC4REXCYREQBERAQbvc47TbZauTctGGN\/1O6BZ61mOzUU2oLuc1dYS5kZGHDc7D4\/IYUC\/Xqlr78I6lxdRUJOI2tz2zxjI58vHuz3qRBYrnqasFwuzjT05\/w4h+rh7gOnxK0KOGOZ5U6zqVf8au1p+W\/wUdXeai6Vzq6rg7dsI\/Li37OPfbPeM4+PyV1Y9MfjTfxW6SvxO8uEbduIZ5k9B4DopN9pqftaDTVvjETZnh8paN8DvPU8z6LWRRMhiZFG0NYxoa1o6Acgk6lorDkcobLiqPeO9vX9HOkoqWhi7KlgZCzuaMZ+Peu6Is56qSSsgiLyx7JGh7HBzTyLTkFDp8llZDE+WRwaxjS5zj0A5lfm8tZPdblNUxg+1Vz+xpm53jYdifT3c+Llp9cV3s1lFM12H1Lw3ng8I3P2HmoeircyV0l0kj2Z+XTZP6QBgn4nPzPer4dmLkzzNpbq1o0Y8M38+amktNvZa7ZDRswSxvvOH9TjzPqpiIqW75npRiopJGXtObpq+vuBl4o6QCGIAd+Rt6O9VqFmNC4kttXUH9clU7PoD9ytOpVO9Yz7LnSxc7sIiKBpCoL1qF8FR+GWqL2mvftgbiPb6\/wr5fr1OypbZ7UOOvmG7ukQPX4438FMslkhs1OQD2lRJvLMebj+ysSUVdmWc5VJOFN2tq\/wuvoRLPpllLL7dcn+117zxF7t2tPhnn8Vfry5zWML3uDWtGSScABZqu1JU3Cpdb9PxdtJyfU491niP3Pllc7U2Sbp7PGy\/bL2vudHbYu0rKhkQ6And3wHMrAam1C2+PjjgjMcEGXZeRxPJwM4+y0MWmKOijkuV7qH1skbS95eTwjHzP8ANlkouK8V5ghjEc1ZPvwgBrGdwA6Dn\/7QrqcYp35HnbZVqySg8r8OJo9CVlW9stGWB1LE3ia8NxwuJ5Z6n+dy2SjW+ggttFHSU7cMjHPq49SfEqJdNRW60gtnm45R\/lR7u8+7zVMu3LJHoUluKSVSWhaKvuN8t1qafaqloeBnsmnLz5fuqHt9R6j2p2fhlE7+s5DnD48z5YHirO2aUtluw98ftU3MyTDO\/gOQ+q7hUe8zm9qVP9ay5v2K03W\/ahPBaqf2KlO3tEnMjwP7eqnUGkKGB\/b1zn19STlz5iSCfh188q\/Rcc3osjsdnV8VR4n108jyxjI2BkbQxrRgNaMAIvSKBpCIiAIi5zTR08L5pnhkbBlznHYBBoe3ODWlziAAMknosfqLWMQjkorYRIXgtfP0APRvf8VGu99nvLJTC59NaoHYklGzpT0aPE93mV90lZYbjUvuc0AZTxP4YIuYJHU9+NvifhhXxgorFI8yrtE60t1R48fnD4jrpXSv6LjcY\/8AmihcP\/sfsFsyQBknAC+qo1RWmhsFS9pw+Qdm3Bxu7b6ZKrbc5GqFOGzUnbgVumsXS93K9Hdhd2UJI5D7bBvr66lVenKH8PsVNCRh7m8b987u3Vok3eRLZ4uNNX1eb+oRFyqaiOkppamZ3DHE0ucfAKBc3ZXZS6tvX4XbuwhdipqAQ0j+lvU\/PZctD0hgsZndnNRIXD4DYfQrNXISXKCa8TNPHWziGljI5NB558seZW\/o4GW62RQE4ZTxAE8+Q3KvksMLHnUZOrtDqPRLL6mI1ZLLddTR2+n94x8MTR04juT8x6LdUdLHRUcVLEPciaGhZPRtL7fc6y9TZLuNwjyOTnbk+hx5rZqNR2tHkWbJHFirP+3oERFUbjMaGIjoa2kIIfDUnIPTIA\/6StOspRSfg2taullHDFcfzI3E83bn6lw9Fq1ZU71+Zl2V2p4eKugq2\/XT8ItUtSATIRwxgDOHHkT4BWSy+pi12oLNHO\/hpxJxEEjBORzHp6rkFeRPaJuFNta+5M01ZnUMDq2r4nV9V70rn82gnOPuf9lYXK6Ulppu3q5OFucNaBkuPcAo15v9NaKdp\/xp5R+TCw7v8fgq22WKqr6sXbUDg+TGY6cj3WDpkfb1XbX7UirFu0qVJXfp1ZHbDc9XvEk5dRWriy1g\/VJ+\/wAeQ8VpIKais9EWxNjp4IxlziceZPVV901TbLUDGH9vM3bsot8fE8gsRcb7V3iYyVfEYGbthjOGDuz\/AD0U1GU+iM869LZ7u+Kfzy8C6vF8OoawWujf2VCCXTzEc2t3LvgAM+OyrLDX261Vc1e9kkj25ZTQjd2\/UnkNtvM7KLQ0NZX3JlLTvbE6qZ7wjOGtZzw7HgAcfDqv0K26etlqw6npwZQP8WT3nf7eWFOTjBYTPRhV2ie85cX+F0KhjdTX8Ze8WqlcOQb77h9forO2aZttsw9sXbz9ZZveOfDoFboqHN6LI9SGzxTxSzfNhERQNAREQBERAEReJZY4IXzSvDI2Auc48gEGh5qKiGkgdPUSNjjYMlzisdWVr9RdpU1cjqOyU7vg6Y9B4n6JV1LdRTvrq1zqey0h93OQZndwHefl6r42L8SpzdrhF7PaKNuaakG3H3epwMq+McOb1+fc8utWdV2Wnr1fT1KiV9RqK6U9DTRezU7BwwxAHEbOfEfE88r9JpqeOkpoqaFvDHE0NaPALPaOopHRTXipH59YSGbfpYD07hkcu4BaZRqyu7LgXbHScYupLWXpwCy2pD+JX62WdrgW8faytz0+nIO9VqVl7Pmu1ndKt24ph2LfDfH\/AEn1XIZXfIt2ntKMOb+2pqERFWaQstqOokut1p9PUzyGvIfUuHRvPHkBnzCu7xc4rRbpKqQjIGI2n+p+NgqzStvkpaKS5VziaqrPG9zzgtb0zn19FZHJYjLWe8kqS+vh+yI+COo1lRW6JuKe1wh2PHAIPdzLVZ6qrvYbBOQSHzDsm473c\/llQdIcVZVXO7OH\/ETcLNsYA3+49FV68qXzV8VIzdlPF2j9+rjj9vVTSvNLkZXPBs0qi\/tp6L7Gk0tA2DTlIGgjjaXnPUk5VuoFjbw2GgGc\/wB3YfVoKnqqWrPQoq1OK6IIiKJYU2pbS+50DX0+RV0zu0hI5k93nt6BfNP6gZd4jDM3sa2LaSI7Zx1H7dFdKivOnBW1Ar6GX2WvYPdkBwHHxx4bKaaawszVITjPeU\/quf7L1ZbWN1t7KY0EkDKmpP6cnAiOOee\/lt6r1Bqeqtsnsl\/pHxvAJFRGMtcM4yQPt4bLq9mlr3VipfNBJKWgcJf2Zdz6bEn9gpRjhd2V1aqrQwQaTfB+xjG01HGyMUtTU1Fd+rFPGeFvgCd8+ICsYdN6iu2DVySMZvvVSkn03K3FO62UjOCmdSwt7mFrfouVTf7TSZE1whBHMNdxEeQyp72T0RnWxUoq85ZdMkVdBoa204Dqt0lU\/G4J4W+g3+aoNS1ba24R2i1xN7CJwAZC0Ye\/v27s49VYXHVFVeaj8LssRAm90yu2cR1x3DHX6K7sWm6Wyx8Y\/NqXD3pXDl4N7gl3HtT1Dpwrf46CtHi\/x1GnbH+EwPlmdx1dR70zhyHM4HqrlEVDbbuz0oQjTiox0CIi4TCIiAIiIAiIgCxV+vDbxUyUEc4ht1Oc1E4P6yOQHfuNh1xnkFP1nezQUYoYHET1DclwOCxmfvuPVVmndKy1TY6m5NLKZvvRwci897vDbz+CvhFRWJnnbTUlUnuaavz+evkSLTapL66GepiMFqphimpif1+J789T1XXUj3XW7UenqU8LAQ+ct\/pGNh5DfzC0lXURW+hkqHgNjhZnAHd02VFo+ilfHUXmr3qK1x4T3Nz9z8gFxS\/ty0OypJWorV5t9F8sjRRRMhiZFG0NYxoa1o6AcgvaIqT0DzI8RxukPJoJKzehoibZUVb\/ANdROScdwH7kq4vchisdc8cxA8DzGFE0lH2emaQEYLg5x83H7YViygzNLPaIrkm\/RFyiLO6nucv5dmoDmsq9iWuwY2\/77+WVCKu7FtSoqccTIfENV6jDeHjtdDk53xI7\/wDfkPFaS5RTT2yphpiBNJE5rCTjcjC52e2RWi3R0sYGQMyOH9T8blTlKUs8tEV0qTUW56y1+dCvsVuNqtEFI\/BkaCXlpyC4nKyBabjRahuxHE15EcZ3PuhwP0DVrNRVvsFiqpgfeLOBnxdt98+SjWG1NZpWOjmDmmojLn9COLl6DCnGVliZRVpqUlRjok\/ZEvT7uOwUJzn8ho9BhWKzejat4o5rVUN4Z6J5bjwJP3z8lpFXNWkzTQkpUosIiKJcEREB4lhinjMc0bJGHm17QQfJVVRpSy1JJNE2M98bi35DZXCLqbWhCVOE+8rme\/sTZv8ARN\/8hVfdaey2d7aKhtzKu4y7MY\/3w3PUg7eX2U686mIk\/D7KPaa554eJg4mx9\/gT8h1Umw6fbbOKqqn+0V028kp34c8wP3Vt5JXkzC4U5ywUYrq7aeHU+ac0+2zwummIfWTD8xw5NHPhCu0RVNtu7N1OnGnFRjoERFwmEREAREQBERAEREBXVFioKq6MuM0RdMwYwXe6e4keH3Vii8SyshifLI4NYxpc5x6Acyu3bIqMY3aVjNaqmNwraOwQEcc7xJKf9LRnHf4nyC0sUTIYmRRtDWMaGtaOgHILNaUhdX1lZfqjd8zyyLI3a3+YHktQpzy7PIz7PeV6r46eHAIiKs1FbqJpfp+tA59keuF40w9r9OURa4HDMHHQglWb2NkjdG9oc1wIcD1CzDbLfLMZYrLUxOppHAtZL+phxvz2VkbONjLUxQqqoldWtkWd+vkVopCGkPq5BiGIbkk9SO768lH03ZH0bHV9fmSvqPec525YD0+Peln002iqnV9fN7ZWuOe0dyb4jxx6dFfI2krIQhKct5UVraLl18QiIqzUZjVbvbrhbbM3\/OlEkm\/9PL48uL09NM1oa0NaAABgAdFlrOPxTWNfcS3MVMOyiONs8sjyDvVapWTysjLs\/acqnN\/ZGZv9vqqCvGoLaMvjGKiID9bep9Ofwyrq2XSmu1IJ6d242ew82O7ipZAIwRkFZ+5aVbJUe22ic0FXkk8JIa8n4cvp4ImpKzEoTpScqaunqvyjQosubtqihJFVaG1TAdnQ8yPLP0X3+2ZAHFZqwHHLH+y5u5cDv8qmu9deKZp0WYOrauYcNHY6mR\/\/ADZAHoEEOrrk4drNBbYjzDMFwHhz38x5JgfHIfyYvuJvwXuXFyvVBamZq5w12MiNu7j5KgdUXfVmGUrTQW3OHSE+\/J\/O4beJVjb9J2+jd21SDW1BOXSTbjPgP3yrwAAYAwAu3jHQ5u6tX\/Y7Lkvy\/Yg2qzUVnh7Olj94jD5Hbud8T9lPRFBtvNmiMVFWirIIiLhIIiIAiIgCIiAIiIAiIgCzusa50dBHbYPeqK54YGjf3c\/c4HqtEsrQuN61pUVRLXU9ub2cfUcW4z68Rz4D4qcNb8jNtLbioLWWXv8AY0Nuo2W+3wUkYAETANup6nzOSpKIoamhJJWQREQ6EREAREQBQ7rWi32upqzzjYS3lz5D54UxVl\/tT7zbvZGTiE8YcSW5BA6fzuXY2vmV1MSg8OpF0fR+y2CORw\/MqCZXHqc8vkPmr1eIYmQQshjHCyNoa0dwGwXtJO7uKUMEFHkERFwsCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAg3qvNttFRVNI42M9zP+o8v3ULSdC6jscb5B+dUkyvJ5nPLPlj1UHV0hrK23WZhP58ofJg493OB\/1ei1DWhrQ1oAAGAB0Vjyh4mWPbrt\/wDHL6vU+oiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAUFPbqqXWNTcamIthhjDIDsQcgfufVX6IpSdyunBQTtxbYREUSwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:10",
    "ubicacionGPS": "LatLng(lat: -23.1009985, lng: -70.4523344)",
    "horaLlegada": "15:06",
    "horaDespacho": "13:16",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:11:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:11:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 15:11: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('69020400', 'TO3122', 1, 21773342, 12327, NOW(), 
				'13:16', '15:06', '15:10', 3, 'mantencion preventiva y limñieza', -1, 
				'', '','1','17920',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786475498.png', '', null, 'COMPLETADO','LatLng(lat: -23.1009985, lng: -70.4523344)' )
				
[11/08/2026 15:11:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201441

11/08/2026 15:11:38 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201441'                    
				WHERE idllamado = 13754			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 15:11:38 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13754			
				
11/08/2026 15:11:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 15:11:38 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-rBZsx1Psvysc5ZMSo_iYnUs53Xic4a.RsQ6UnAMmId44eVG-guF
11/08/2026 15:11:38 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:11:38 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786475498.png
11/08/2026 15:11:39 Envío correo: OK
------------------

11/08/2026 15:11:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:41 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:11: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/08/2026 15:11:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:11:41 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:11: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/08/2026 15:11:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:11:41 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

[11/08/2026 15:11: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/08/2026 15:11:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13754
            GROUP BY l.idllamado;
            

11/08/2026 15:11:42 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:11: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;
                

11/08/2026 15:11:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                

11/08/2026 15:11:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13754
                and cs.estado_control = 1;
                
[11/08/2026 15:14: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;
				

11/08/2026 15:14:12 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:14: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;
                

11/08/2026 15:14:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:14:13 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:14: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;
                

11/08/2026 15:14:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 96808790
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 15:18:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:30 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:31 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:31 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:31 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:33 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:33 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:18: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/08/2026 15:18:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:18:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:35:21 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:21 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:35: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;
                

11/08/2026 15:35:21 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 96808790
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL NETLAND SCHOOL
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152165
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 15:35: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;
				

11/08/2026 15:35:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:23 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:23 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:24 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:26 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:28 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:28 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:28 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:29 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

11/08/2026 15:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:29 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:35:29 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:35: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;
                

[11/08/2026 15:35: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;
                

11/08/2026 15:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13756
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE NO SCANEA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76513726
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2890
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            
=========================================
FECHA: 11/08/2026 15:36:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yobKiFwTIX-WPrZXmlkBy1vfYVJ+gq7GZRnE_XYPYM60BYQjlC8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76513726",
    "serieinterna": "KY2890",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "37458",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•No escaneaba al correo en la mañana, ahora funciona sin problema\n•Se hace mantención preventiva",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13756",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAMkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCAQf\/xABCEAABAwMCAwYDBAULBQEAAAABAAIDBAURBiESMUETUWGBkaEicbEUMsHRFSMkM0IHFlJygpLC0uHw8SU2N0NTdP\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgQDBgYDAQAAAAAAAAABAgMRBBIhMTJBUSJhcZHB4RNygbHR8DOh8VL\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIiz6C80tyraqmp+J32Uhrn4+EnfkfLzU2ZVySaTe5oIiKCxP6qudVSR0tFQShlVVyhoI5gcvckLfaCGgE5ONz3qWpXNvetZqkOLqe3M4GdxduPrxegVUryVkkc1FucpTvpey+nuERZF9votPZQwwOqKqb93GM4x3lVSbdkbTnGEc0tjXRZlguzrzbjUPh7J7HmNw6EgA5HqtNGrOzJhNTipLZhERQWCIiAIiIAiIgCIiAIiIAiIgCIiA89wqhRW+oqScdlG53mBssbRVKYbH27weOpkdIS7mRyH0z5r91rUugsDomE8VRI2PbmRz\/BbFvpRRW+npgMdlG1vmButNoeJy8WI+Vff\/D0LOv9wFss1RUjPHw8LMf0jsPTn5LRUrqEm6ait9nbxGNh7aYAbe\/gD\/eUQV3qXxE3Cm7bvReLNHStuFvscOWkSzjtZMjffkPTHutlFjXzUMdqLaeBn2iskHwxD+Ed5UazkT2KFNJ7I2VGXSpbBq2uqHgZpqEmP+sWgD3cqSzXNt3t7axsZjDnEcJOcYULqqWKv1G5lE4yOcGxEt3DncsDHPotKUe00zlxlVfCjOPXQo9CTxPsr4WAiSKUl+xwc8jnl09lTLJ03aTaLSyKRoE8h45euCenkNvVaypNpybR04eMo0oqW9giIqG4REQBERAEREARF8ve2ON0j3BrWglxPQIDnV1cFDTPqamQRxMGSSo6bVVzlngr46fsbf23ZtDtzJz\/AA8ge9d+GbWdxDyHRWmmfsDsZXf79Au+s4WR2+308LA0Coa1jGjpg7ALeMUnZ7nm1qk5wc4O0Vt3+xUoi41lVHRUktTMcMiaXHZYHotpK7OyKe0rfKq9GsdUNja2NzSwMB2znb2HuqFTKLi7MpTqRqRU47MmNV\/tF0s1E3m+fidjmBloz9fRU6mK\/wDadfW+Hm2CEvPgfiP+VU6vLZIyo6znLvt5IKW0y0199ul2fjd\/ZR\/L\/gNW7dqv7Daqmq3zHGSMHG\/Ie6ztHUhpdOxOcMOnc6Uj57D2ARaRbIqdqtCPS79Ea1bVMoaKaqkGWwsLyO\/HRS1jo3utFwvtXg1NTHI5jiPutwcnzPsAvXrOV8lNR22N5a6smDduoGNvUj2WheI20WmKmGEYYynMbR4YwpjpFd5Sp26jb2iv7fsYNFchaNBMlY4Nnnc9kXfkk7+QH0Xk0PazU177lKMx05wzO\/E8j8B9Qs6ngqL86htdL9ymjOXEHDS45cT646cl\/RqChhttFHS07cMjGM43cepPiVpN5U1zZyYeDrTjJ8MUvM9KIi5j2AiIgCLnPUQ0sLpp5GxxtGS5xwApqfU1ZdZnUmn6ZzzyNTIMNb44PLz9FaMWzKpWhT0e\/TmUctVTwSRxyzMY+U8LGudguPgF2U7btJRRVArLlUSVtUCHZLjwg\/U\/72VEkklsKcpyV5qwREVTUKX1DWTXSvZp6gI4pBxVEgOzAOh9s+QW3drgy12yasfgljfhaf4nHkPVZmkqGSOikuVTk1Nc7tCTuQzpz9flhaR0WY5azc5Kkue\/h7mzR0kNBSR0tOzhijGGhT1\/zXaqtNvHxNjPbPaO7Od\/JvuqhS1oIr9a3KszxMp29k3HIHl\/hd6pDnIYhK0aa5teS1KlTOuqrsrRHSg4dUSjbONhuffCplAawqPtl3ma0HgooQ0kHm5xH58vAqaSvIrjZ5aLXXQ2dC03ZWqabPwyynhGMHAHM+qpln2GmFJYqKHGCIg4juJ3PuStBUm7ybNsPDJSjHuJin\/WfyiVXXs6YeWzfz91TqYof\/Ily\/8AzD6RqnUz5eBTDbS+Z\/cnNcT9nYRCD8U8rW4HMgb\/AIBbtLAKWkhp28oo2sHkMKb1S9k99tFG+QMY15lkJOBw5G\/hs12691bq+0UZ4GTGpkzjhgHF78vdWytxSRmqkI1Zyk7bL19Tw6jdJSait9fLTST0sDDtGzJ49+vzLeqz77frrW21x+xGiopAGl0gy55PQZx3dOi0W3vUN0H\/AE21CnjcBiWfp4jOM+hWQ+gul5v4ttfcTKYG8Uj425bGcZxgADPILSKtxcjkrScr\/Db7T6W18Xqb+naWksFnbJVzQwTVAD5C94G3Qc9+fuu02sLJC8t+1GQt\/oMJHryXCm0TaonB85mqnde0fgH0x9VqwWe2UwAhoKduOvZgn1O6zbg3d6nXThXjFRikkvr+DGdru17COCqkcegYPzX5\/PWIDiNrrAz+lwjl0VBNPSUMfaTSw07D\/E4hoKwa7XNsp8tpWSVT+hA4G+p39kST2iRUlOnx1Uvp7n63W9va8sqKaqh3xlzAfxX7WaxpOFsVqY+uqZNmMaxwA+eRlZroNRargDpTFR0ZOWtII4vHqT7BaVi0iy01LaqSqdLKARhmWDpz335KzUFvuZRqYmbtHhfO1vU4wacrbvO2s1BOXdW0sZw1o7jjl5eqpYKeGlhbDBG2ONowGtGAF0RZSk2d1OjCnqt+vMIiKpqEReC9XFtqtU1UfvAYYO9x5dCpSu7FZSUYuT2RhV7zqPUzLY0k0dCeOflhzh09Tj1VW1oa0NaAABgAdFiaUtrqG1dvMP2msPayHG+DyHvnzK3Fab1suRjh4vK5y3lr+EcK2pbR0U1S8jhiYX79cBYmiqd7LO+qkyX1Urn55bDb65X3rSpNPp57QcdtI2P6n8Fr0FMKO309MBjso2t8wFO0PEjixHyr7\/4dJpWU8Ek0hwyNpc4+AGV\/NmRPrmU\/G39bda0vdgfwg49Mud\/dVdrKsNPY3QMBMlU8RtAGTjmfpjzU21ldFqCCnt9IaiS2whjWH7ofjLidwB8Tj1WlJWVzjxks1RR6evsmf0JrQ1oa0AADAA6LNrdR2mgyJqxhcCRwx5cc923LzWSbLqC7OabpcRTQ9YoDufDbbw3JWnQ6YtNA34KRsrs545hxn8lnaK3Z1560+CNl3\/glqe\/OfqusuNvoJqvt4gxsYGHDAYMnGdvh91rOOrroz4WwW2N3efiI9yPZftI0Q\/yh1YaA0SUw25dG8vRUz3tjjc95w1oJJ7grSklayMKFKUlLNJ7vbQg6Ow\/pDVM9HX1ctYymZxPkJIydvh5nbJPoVY0Vot9uaBS0kcZAxxYy4+Z3WNo+N9Q64XaUfFVTkN3zgA5\/HHkqZRUk72NMJSgoZ7au\/lyPFdrgy12yasfgljfhaf4nHkPVZukaB0FuNfP8VTWntHOPMg7jp15rM1pconV1LbZHObA0iWctBOR0GNs7Z9Qun2i+ajAbQMNtt2MCR2znDwx+G3ipUXk8Skqydd88uiS68zduF+ttsBFTUt4x\/wCtnxOPhj81iS6gu90gc+20jaKlH3qupcAAO\/fb0yvmSj07piPNXitqyM8LwHOJ\/q8m\/Mr9itNz1JK2puzjSUY3ipWbEjx7vmd\/kpSitSs6labyp69F6vl9DANHJdKjsaR89zqc\/HUPyI4\/ln6n0VTZdHUdvxNV4qqgHIyPgZ8h1+ZW7S0lPRQNgpomxRt5NaF2VZVW9EaUcHCDzT1f7+6hERZHcEREAREQBStxH84NUw24DipKH9ZPtsT3cvkPVUVwq20NvnqncomF3LOT0WNoyjfFan1szuKWteZHHG+ASB+J81pHRORy1u3ONLlu\/Be5QoiLM6jD1Faqq6z25sLWGGKbimJO4G3Lv2z7LcRc5pWU8Ek0hwyNpc4+AGVN20kZqEYyc+voTF4kbX6tpqZ\/xQW6I1EoIzvji\/y8+9dtGROlp6y5yDElZOT5A5+pPosemc9um7xep+Jste8xs35tJwcepH9lVmn6b7JYaOEjB7IOI7i74j9VtPSNjgodutnfe\/PRf0aKIiwPTJe8u+w6ztVYdmztMJ+eSP8AEF7dW1ppLFJGzeWpPYtb1Oee3yz6pqq2y19sEtK0mppXdrHw54jjmB4\/kp2e7fbrnBX3WIw09CzaItyZZeRAB2+8PINW8Vms+h5tWbpOcP8Arb1K6y0f6Ns1NTPwHRsy\/wACdz7krCvurXt7WmtDe1dGD2tQBlsfTb8+XzXwYLrqeM1FdMLdawSQwHDnDvOfqdvBZ95qKCanhsWn4u145OKRzGkl5A2369ST4KYxWbXUrVrSVK0NFy6vwXqenT9uom0Tr5fZGudK4mMzuyCB1weZJyvVJfrpe3mmsNIYoPumqlGAPl0HuV92\/SclQYqi+TGZ0bQ2OmYcMjA5Db6D3VOxjI2BkbQxrRgNaMAKspK99zSjRnkS4V\/b\/BjWfTNLbXfaZ3GqrCcmaTfB8Pz5rbRFk227s7YU401ligiIoLhERAEREAREQE1q2V9S+hs0RINZKC8g4+EEf8\/2VQwxMp4I4YxhkbQ1o8AMKbiabhr+WUgFlDBwtORz\/wCXOVQtJaJI5qPanOffb6L3CIizOkKe1lVyR2yOhgBdNWyCNrRzI6++B5qhU8+21dZrJtZURObSUsQ7E8Qw4+XiT6BXha92c+IzOGWPPQ8WpqYUtmtdnjP7yVrNiSTgYOB13d9FWNa1jAxow1owB3BSN3rqSfWlA2SeMQUrS57+IENducezVQyXy1RA8dwp9uYEgJHzA5K0k7Iyoygpzd+i8ke9FPVOtLZG7gpWzVkhzwiJmBkfPf2Kx7zqC+uiYRGLc2T93GDmWTIHhnbvwFCpyZaeLpRTad\/D9sUl9v1PZKbieQ+oeP1cWdz4nuCiaOqrblWOrBRy3Cr4vhaW\/qYu44HnzwPmqGzaTbLGKy9mSoqX78EjyeEdM9SVTQQQ00QigiZFG3k1gwArZow0WrMXSq4hqU3lXJcyYdp65XJv2i\/3JwiYOLsIeTfw9j818aLt8Lp6u5sh7OMvMcDSc8Leu+dzy3+a9mq7jKI4rNSDiqa74ef3Wk499x8gVr2ugZbbbDSNx+rb8RHIuO5PrlHJ5NeZMKMHX01y7vvPWiIsT0AiIgCIiAIiIAiIgCIiAmLH\/wB4Xny+qp1LUzha9cVLKj4WV7AYndCdtvr7Kne9kbC+RwY1oyXOOAFpPdHLhtItdG\/ufSLCr9X2qjBbFL9rl5BkO4P9rl6ZXjcdSX\/AaBaaRw3OSZCPY\/RQoPd6FpYiF8sO0+79sal11Fb7SC2WTtZ+kMe7ifHu81kMpr\/qRwfWPdbaH\/5MJD3j\/ff6LVtemrdayJGRdtPz7aXd2fDoPqtdTmUeEr8KpU\/kdl0XqyJ01Z6Cqut0D4BPTQv7OPtRnO53Hp7hULdM2VkvaNt8fFkHmSNvDOF3tlpprU2ZtPxntpC9xe7Jz3L3JKbb0Yo4eMYJSirmfUyUNht0lQ2GOKOMbNYAC49AsjTtsmral1\/ug4p5t6dh5Mb0Ppy9eq+buz9M6spbW8A09KztpRg7+B6YPwjzO6pJZoKSAvleyGJg5uIaAE4V3sqkqlRt8Mfv1+h1WZfL5T2WkMkhDpnD9VFndx7\/AJeKzq3VfbSmkslO+tqCCO0A+Fnj4+wXS0ackiqhcrtN9qrubc7iP\/UeyKNtZFpVnN5aPnyX5PzT9qqHTuvN0PFWTbxsI\/dN3HlseXcqFEVJO7ubU6apxyoIiKDQIiIAiIgCIiAIiIAiIgM+7WWjvETW1LPiZ9x4OCP9FlfzMZKSyqulXNDnLY+Ll65+iIrKclomYzoU5u8lqbFBZ7fbB+yUrI3EYL+bj5le1EUNt7mkYqKtFWCIigsEREBj3bTVHdpxUPfJDNjBfEQC4bc\/ReOLQ9ua\/M89RO3GOF7h+ARFdTkla5hLD0pSzOOpvUtHT0UIhpoWRRjkGhdkRUNkklZBERCQiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "HOTEL HAMPTON BY HILTON ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KATTY",
    "correoContacto": "recepcion.hamptonantofagasta@metro-op.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE NO SCANEA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:35",
    "ubicacionGPS": "LatLng(lat: -23.620608, lng: -70.392486)",
    "horaLlegada": "15:17",
    "horaDespacho": "15:05",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:36:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:36:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76513726

[11/08/2026 15:36: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('76513726', 'KY2890', 1, 24456550, 37458, NOW(), 
				'15:05', '15:17', '15:35', 15, '•No escaneaba al correo en la mañana, ahora funciona sin problema
•Se hace mantención preventiva', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786476971.png', '', null, 'COMPLETADO','LatLng(lat: -23.620608, lng: -70.392486)' )
				
[11/08/2026 15:36:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201442

11/08/2026 15:36:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201442'                    
				WHERE idllamado = 13756			
				TO ENVIO: micorreo@miempresa.cl, recepcion.hamptonantofagasta@metro-op.com, donkhapone@outlook.com


11/08/2026 15:36:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13756			
				
11/08/2026 15:36: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

11/08/2026 15:36:11 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-yobKiFwTIX-WPrZXmlkBy1vfYVJ+gq7GZRnE_XYPYM60BYQjlC8
11/08/2026 15:36:11 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:36:11 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786476971.png
11/08/2026 15:36:11 Envío correo: OK
------------------

11/08/2026 15:36:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

[11/08/2026 15:36: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;
                

11/08/2026 15:36:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:14 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13756
                and cs.estado_control = 1;
                

11/08/2026 15:36:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13756
            GROUP BY l.idllamado;
            

11/08/2026 15:36:23 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:36:23] 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/08/2026 15:36:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [RutCliente] => 76513726
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 96808790
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

)
[11/08/2026 15:36: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 15:36:24 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:36:24 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:36: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;
                

11/08/2026 15:36:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[11/08/2026 15:37: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 = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 15:37:11 - INPUT: {"rutTecnico":"24456550"}[11/08/2026 15:37:11] 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/08/2026 15:37:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES INMOBILIARIAS Y HOTELERAS MT S.A.
            [ciudad] => VITACURA, SANTIAGO
            [RutCliente] => 76513726
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOUTHERNROCK GEOPHYSICS SA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 96808790
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COMERCIAL COÑARIPE LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78828690
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES CIELO AZUL LTDA 
            [ciudad] => SANTIAGO
            [RutCliente] => 76025226
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 07/08/2026
        )

)

11/08/2026 15:37:12 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:48 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:48 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:49 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15: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;
                

11/08/2026 15:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:49 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15: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;
                

11/08/2026 15:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:49 - INPUT: {"rutTecnico":"24456550"}
11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:49 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15: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;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

[11/08/2026 15: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;
                

11/08/2026 15:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:50 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:50 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

[11/08/2026 15:37: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;
                

11/08/2026 15:37:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:52 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:52 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:37: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;
                

11/08/2026 15:37:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13669
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESTA LENTA,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/08/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78317440
            [ClienteRazonSocial] => MEDICINA EJERCICIO DEPORTE Y SALUD S A
            [ciudad] => LO BARNECHEA, SANTIAGO
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2666
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:37:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:37:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:38:34 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/2026 15:38:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:38:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:34 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/2026 15:38:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:38:34 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/2026 15:38:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:38:34 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 15:38: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/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:38:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:36 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 15:38: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/08/2026 15:38:36] 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/08/2026 15:38:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PABLO ANDRES SANCHEZ PAREDES
            [ciudad] => TALTAL
            [RutCliente] => 16524375
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 15:38:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/2026 15:38:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:43 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:43 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:38:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:43 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15:38:43 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/08/2026 15:38:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:38:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:47 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15:38:47 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 15:38: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/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:38: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/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13731
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => L8180
            [SerieInternaMaquina] => EP2909
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:38:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:38:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:39:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:39:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:39:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 15:41:22
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-VJK9_oZqwqSnpw5bz8wpslc9yYwzs7.VqMr28nEY3JsVMrq8-UA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78317440",
    "serieinterna": "KY2666",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "219621",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Usuario dice que la impresora está lenta, se realizan varias pruebas de impresión, el equipo funciona correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13669",
    "observacion": "\n\n\n\n\n\n\n\n\n•Probablemente sea una cuestión del internet, se hacen copias de varios documentos y no se demora en imprimir, está dentro de lo normal",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAPgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABJEAABAwMCAwMJAgkICwAAAAABAAIDBAURBiESMUETUWEUFSJxgZGhscHR4QcjJDJSYpLC8DZCQ3KCorLSFiYzNDVEY3N04vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQcEAQUAAAAAAAAAAQIDERIhMQQTMkFRFCJhcaGx0TNCgcGRIzRy4fH\/2gAMAwEAAhEDEQA\/AP2ZERAVGpbrU2e2NqqZkTnGUMIkBIwQe4juCtmuDmhw3BGQqbVzOPTNX3t4XD9oKbZpO1slE\/GMwMz+yFNruplCk984vSyfuTURFAvCIiAIiIAiIgCIiAIiIAiIgC5VFTBSRdrUTMijyBxPOBkrqsh+ECf8mo6YEkue6QtHcBjJ95+KlCOKVimvV3VNz6Gta5r2B7TlrhkHvC+lUaVkMumqNxJOGlu\/g4j6K3XGrOxOnLHBS6hERcJhERAEREAREQBERAEREBWaiYH6ergekRPu3Xzpl5fpyiJ6R49xIUi8M7Sy1zNt6eTGf6pUHR7+LTNKN8tLxv8A1irPs\/Jmf9wv8f2XaIirNIREQBERAEREAREQBERAERcKysp7fSuqamTs4mYy7GeZwhxtJXZ3WM1pl11pmA\/8rKSM\/qu+9a+CeOpgZPC7jjkHE13eFj9UfjdShvMR26Ukdx4JPuVtLiMe2O9LLm0XWkP5L0f9v\/G5XSpdIfyXo\/7f+NyulCfEy\/Z\/ow8l7BERRLgiIgCIiAIiIAiIgCIuVVD5RSywB5YZGFvEOmRzQ49DysZ2tFPH+nG4e8Kk0Q\/j061v6Erh9fqudvutRbas2e9vLnOz2NS44EgPTK80I4i0VER3MdS4fBv3q3C1FmNVFOtFro0\/Q0yIiqNoUO43WjtUbX1cvAHnDRjJPL7VMWN1rDJX3S30MQzIWPLRzye7+6pwipSsyjaKkqdNyjqbBrmvYHtOWuGQe8L6VNpOtFbp+n5cUI7F2P1eXwwrlRas7FlOanBSXMIiLhMIiIDwkAZJwAo1BcqS6QOno5e1ja7gJ4S3fAPUDvCialr22+xVMnFwvkb2cfi523yyfYqjQT3Noqync3hMcoJHiRj6Kaj3HIzSrWrxpLmjWLM66rGw2ZlNjLqiQY35Bu5Py960j3tjjc95w1oJJ7gsNJTP1FT3S9VJeYYGOFKzi2GBknp4fHuXaazuyG1yeBwjq\/bma2ycHmOh7PPD2DMZ9QWO1XNOzUk7oAXcNLwPwM8LXNIOf2lqNKyGXTVG4knDS3fwcR9FRV2H6nvuduztj8ePoN+1ThlNlO0d+hC2V7exc6PIOmKTB5cef23K7X5\/YK6p09FTVM447dXk8RG\/ZuBI+nu9S37XBzQ5pBBGQR1UKkbSuX7JUU6SjzSR6iIqzWEREAREQBERAEREAREQFTqShZW2WckASQsMkb9hgjfmemyq9Akm11JJyTP+6FZ6prRQ6fqXA4fKOybv1dsfhk+xVmgP+FVP\/f8A3QrlfdswTw9sjbWxqkRFSbwsw\/8AKPwhxknPk9NsB02P+dadZm3ntdfXF5\/o4AAMcvzf49qnDn5GbaNYLxR86RHk9xvFFyEU+WjOerh9AtQszHmg1+9m\/DXwZ37wP\/U+9aZKmtxs2UHHo2gs5Hq2OTUXm5sOYC8xibOcuHPbHLO3xXmoLvPNUCyWoh9VMC2Vw5RtPj0+ih3ywRWzSjBBwmWlkEj5eHdxOx+Y9wUoxX3cyqtWm77vSOvwbBFxpKhtXSRVDcgSsDsEYxkKq1Neha6LsYDxVlQC2NoO7f1vs7yq1Ft2NU6kYQxvQrrk7\/SPUsVtjaHU1C7jndnYnIyOXsx6+5dLM5tBqi8wyvDBIRMXO9EAZJ\/eVlp2zC0UGJMOqpjxTvznJ3wPZn5r7utgoLuWuqWODxtxsIBI7jsrcS4eRkVGo0qv3Xv6WsU13uMmoqnzLaH5jzmeoH5mB0yOnzwtDDbqentgt8TcQiMsweZB5n25K9oLdSW2DsaOFsTeZxzcfE9VKUJS5LQ0U6TTc55t+3QzeiJneapqSTaSmnc0jHIH78qkvlQ2n1DfCScvpGsGOpPZfernT48n1PeqcHAc8SBvtP8AmVNdLf5z19LSuBLHFhfg4w0Rtyro2xtnn1MXZ4RWt7e6NNQ2iGo0rT2+pblr4QSRzaTvkeIJUHTtbPba1+nri78ZHvTPP89vPH2e0dFpgABgDACo9UWqStpGVlJltZRnjjc3mR1H1H3qqMr5PmbKlNwSnDWPqunwXqKtsV2ZeLYypAxIPRlb3OH8ZVkoNWdmaYSU4qS0YREXCQREQBERAEREARFU6ju\/me1PmZgzSHgiB7z19gz8F1K7siE5qEXJ6Iqa3GotWMoQc0dv9KXYEOdkZB+XsK66G\/3Gt\/8AJPyCmWC1m0WfidwitqG8cjpXHd25APqz81B0I7Nvq8kEmoJ267Dkrm+60tEYIRarQlLV3fwvwalERUHpBZjT\/wCP1Vep8kiN\/Z8\/Ej91aWR7Yo3SO\/NYC4+oLOaJY6Shq66Q+nVVBcd88vvJU48LZmq51YLzfp\/s76hoal1TSXSihMs9ISSwHd47uWTzPx71EfWanu7ewgovNjf50shOfUO72BalEU7LQ7KheTak0nrYrbNZKezU5ZG4yzPx2kzubvsHgpdbTCsoZ6Y4HaxuZkjOCRzXdFFtt3LVCMY4EsjHUF0u9oo\/NYtM1TLCS2KTBDSM7dPryVhZLBKyqddbs\/tq6Q5aDyjH2\/JaFFNz6Iohs6TWJ3toERFWagiIgMzdLbdKS+m6WhrHmoZ2cjHcgdgD8j7CoWnKepo9YVUVdKJKh9MXPcOpJYcLZrMVP5N+EGld+aKinIJHU4dz9wV0ZNprwMFWjGE4zT+78ZmnREVJvMlWNOl9RNrowRb648MzRyY7+Nx\/aWsa4OaHNIIIyCOqi3OgjuVumpJOUjcA\/onofeqnSVwfJSPtdUcVVCSwtPMtGw93L3Kx96N+aMsP6VTBylmvPmv2aFERVmoIiIAiIgCKJUXKmpq2no5XkTVOezHCcHHiiWOJp3SJTnBrS5xAAGST0X51cr95w1B5QyE1EcALaSItyHO5ZI677+wBXerKi4VtXFZKCGTEjQ+RwBAcO7PcOqn6f0zT2ZnayETVbhvJjZvg37VdG0Fd6nn1t5Xnu4ZJasg02lJri0Vd8rJ3VEm5jjcAGA9Pj0WQp5ZGTs8iY7yhkzpA6Pc8IAPIcxsSv1Gvkkit1TJEQJGRPcwnkCAcLE6Bga+6zzO3McWG+0jdThN4W2UbRQiqkKcdXqzY2m6Q3egZVwAtBPC5rubXdR4qasraR5m1dWW53CyGsb2sIA65OB\/iHsWqVE1Z5HpUJucO9qsmVWpqoUmn6t+cOezs2473bfVfWnKY0mn6OIt4XGPjIPPLt\/qqfUrzd71RWOHDg1\/az8\/RGP8ALn3haprQ1oa0AADAA6KTyikVw79eUuSy\/bPURFWagiIgCIiAIiIAiIgCy+qw2kutpubtmRy8Dzy2yD9q1CoNYGkmsk0EtTEyduJI2OeASR4eIyp0+Iz7Ur0n4Z\/wX6LD+dqzUFrpLZRU8pkHCKmUOIDQCOvjz+i2zGlsbWlxcQAC49fFJRw6naVZVeHQ+lltQROs15pr\/TsPZuPZ1Qb1B6+74gd61K5VNNFWU0lPOwPjkbwuBXIysyVanvI2WvLzPqGWOeFk0Tw+N4DmuHIhfaq7FZ32WCWn8rfPE5\/FG1wxwDuVouO18iUHJxTkrMIiLhMIiIDwtBIJAJHI9yL1EB5gZzjdeoiAgX2TsrFXP\/6DwPWRj6rN\/g9Z6Fe\/h5mMB37W3yVzq6XstNVWDgv4Wj2uGfhlQdBQGO0TSkf7SbbxAA+0q5fTZgqZ7ZBdF8kjVlBNLTQ3GjH5VQv42kDm3r7sZ965y60oPIg+mZLLVObtBwH0T4nlj1LSLhHQ0kUxmjpYWSk5L2xgOJ9ftKgpK1mi6VKeJypu19fkqNM2aWiikrq\/Lq+p3e5xyWt7vXtn\/wCK+RFGTbd2W06apxUUERFwsCLwkAZJwAqyr1JZ6PaWujc7uj9M\/BdSb0IynGCvJ2LRFlzrJ9S7htloqar9Y7D4Z7k\/1xuGdqa3tz4E4\/vfTmp7t88ijtUHwJvyRpyQBknAChVF6tdID21fA0tOC0PBd7huqUaL8pcH3O61NU7PQ4+eVNp9IWSnIPkplcOsjyfhyS0FzGOvLSKXm\/gjT63t4eY6OCoq35w3gZgH37\/Bcxe9S1gzSWMQg8jOTt478K0kNPBTM4IIY4m\/osaGj4LomKK0Q3VWXFP+F\/0y5suorl6dfd\/JWk57Knzt4bY+ZUmj0ZaaZ\/aTMfVPzn8a7YH1D65V+i5vJcjq2ane7V345mTrqKbS9wddbfFx0Uu1RA0Y4B3j+NlpKGvprjTNqKWUSMcOnMeBHQru5oc0tcAQRgg9VmqzS09LUGs0\/VGjkx6UJJ4XfP3EY9S7dS11IOM6LvBXj06eXwaZFmrfq1rH+SXqF1FUtGC5wIa7bn4clo2PZIwPY4OaeRacgqMouOpdTqwqK8WfSIiiWhERAEREAREQBERAZnXcwZZI4uskw28AD9cK2sVGKGyUlPwhrhGC4D9I7n4lTnxslbwyMa9vc4ZC+lJy7uEpVK1V1H0sERVddqO02\/ImrGOeP6OP03Z7tuXtwuJN6Fkpxgrydi0XjnBoy4gDvKyx1FeboMWa1Paxw2nm2Hszt8SvW6Wr7ieO93WSUZBEURw0fDHuCngtxMz9oxfTi36InV2rrRREt7czvBI4YRxfHkoAvGpLtjzdbW0kRAIlm3PPmCcD4FXdDY7ZbsGlo42vHJ5HE73ndT0xRWiG7rT45W8vky7dJ1ldh15u8s\/fFEcNHv8AsCtKTTdno94qGNzu+T0z8VaIuOcmTjs9KLvbPxzPGtDRhoAHcF6iKBeEREAREQBERAEREBHraCkuMPY1cDJmdOIbj1HmPYoVp0\/S2aeWSllnLZBjs3vy0eI2Vqi7idrEHTg5KTWYREXCYREQBERAEREAREQBVV6udbb2xNorc+sfKHbtzhmMcwB4oilHUqrNqDs7FV5q1DeXh1zrRRU5G8FOcE+B+8lWlv0zaraAY6YSSA5Ek3pOz8h7ERdc28iENnhF4nm+rzLZERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "CLINICA MEDS",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ALICIA GALLEGUILLOS",
    "correoContacto": "alicia.galleguillos@meds.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE ESTA LENTA,",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:40",
    "ubicacionGPS": "LatLng(lat: -23.6206168, lng: -70.3924791)",
    "horaLlegada": "15:36",
    "horaDespacho": "15:35",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:41:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:41:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78317440

[11/08/2026 15:41:22] [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('78317440', 'KY2666', 1, 24456550, 219621, NOW(), 
				'15:35', '15:36', '15:40', 15, '•Usuario dice que la impresora está lenta, se realizan varias pruebas de impresión, el equipo funciona correctamente', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786477282.png', '








•Probablemente sea una cuestión del internet, se hacen copias de varios documentos y no se demora en imprimir, está dentro de lo normal', null, 'COMPLETADO','LatLng(lat: -23.6206168, lng: -70.3924791)' )
				
[11/08/2026 15:41:22] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201443

11/08/2026 15:41:22 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201443'                    
				WHERE idllamado = 13669			
				TO ENVIO: micorreo@miempresa.cl, alicia.galleguillos@meds.cl, donkhapone@outlook.com


11/08/2026 15:41:22 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13669			
				
11/08/2026 15:41:22 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/08/2026 15:41:22 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-VJK9_oZqwqSnpw5bz8wpslc9yYwzs7.VqMr28nEY3JsVMrq8-UA
11/08/2026 15:41:22 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:41:22 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786477282.png
11/08/2026 15:41:22 Envío correo: OK
------------------

11/08/2026 15:41:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:41: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;
                

11/08/2026 15:41:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:33 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

[11/08/2026 15:41: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;
                

11/08/2026 15:41:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:41: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;
                

11/08/2026 15:41:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

[11/08/2026 15:41: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;
                

11/08/2026 15:41:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:41: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;
                

11/08/2026 15:41:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 - INPUT: {"rutTecnico":"24456550"}
11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

[11/08/2026 15:41: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;
                

11/08/2026 15:41:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13669
            GROUP BY l.idllamado;
            

11/08/2026 15:41:34 - INPUT: {"rutTecnico":"24456550"}
[11/08/2026 15:41: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;
                

11/08/2026 15:41:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13710
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN COPIA DUPLEX E INSUMO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 15:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76056333
            [ClienteRazonSocial] => TRANSPORTES SOLUCIONES LOGISTICAS S.A.
            [ciudad] => SANTIAGO
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2372
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15:41:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13669
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:42: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:42:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 15:43:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-k+H3zpHYR-S0941xfm5DCsRGskM4UkdEamHKV5Mr_V+ahHy2tEw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP2909",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "36",
    "contadorColor": "216",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nlimpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13731",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD2ARADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABCEAABAwMBBQUFBwIDBwUAAAABAAIDBAURIQYSMUFRE2FxgZEUIjKhsRUjQkPB0fBS4VNi8QckM3OywtIlNDaCkv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgQCCQUAAgMAAAAAAAABAgMREiExQQRREyIyYXGBkdHhM6GxwfAj8RRSYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBeZJGRRukke1jGjLnOOAB3lc9fcKa2UxqKqTcaOA4lxxnACzcVNctrpWz1bjS2oOyyEfFL3\/39OqnGN83oUVK2F4Yq8uXuTzbUVdfUOprBQ+0lp1nk0YPLT5nyQWraqoaHzXiOFx13WN4d2gC0NLSU9FA2CmibFG3g1oUy7jS7KIKhKWdST8skZcRbW215c2WG5RcS04DuHl+qsbVtHS3KU00jH0lY3R1PNoc93X69yt1Q7TWU1lMa+jzHXU43mvYSC8DXHj08ETUsmclCdJYoNtcnn6F8irbDdm3i1x1OglHuytHJw4+R4qyUGrOzNMJKcVJaMIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC562tp7fSvqamQMjYNT17h3qZzmsYXvcGtaMkk4ACyTRJtjdhIQW2mjfoDp2rv5jwB71KMb5vQorVHBKMc5PQ+0VDU7U3Bt0uLCyhiJ9ngP4h392mvXwWtAAGAMAI1oa0NaAABgAcl9SUrnaVJU1zb1YREUS4IiIDKwA2PbN1O0btJchvNydA\/U6eeRj\/ADBapZvbanJtkNdGMS0cwcHdAdPruq\/pqhlVSxVEfwysDxr1GVZLNKRlo9ScqfmvP5JURFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIqbaW8\/ZNBuwjeqqjLImg6g4+LHPGi6k27IhOapxcpaIr7\/V1F5uI2ft5LcHeqpc6BumneNRnvwFoqOjgoKSOlpmbkcYwB+pVfs7ZG2iizLh9XL700mc69M\/zVW6lJrRaFVGDu6k9X9lyCIigaAigrK2moKc1FVM2KNv4j9AOa4LPfmXmaYQU0rIY+Erxo7+eK7Z2uQdSCkot5stkRFwmVe0oB2drcjP3f6r7s44u2eoi4knshqV82k\/8Ajtb\/AMorP2\/aplLaKSgoKWSrrBHgtDTutP1P81Vqi5Qy5mKpUjTr3k9v2bRQS1tJA7dmqYYz0fIAs6bVtHeGn2+vZRQPGsMQy7wOP38l0RbFWhjcSied39T5D+mFzDFass6WrLsQ9cvsWou1tc4tFxpSRxAmb+66mSMlbvRva9vVpyFSnY6xFoAoyD1Er9fmuWfZR1A11TY6yemnY3O4TvNkxyP98hLQejGOvHOUU\/B+5pkVVs9d3Xe39pMwR1ETtyVgGNeuP5wKtVBpp2ZfCanFSjowiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgI5po6eF80zwyNgy5zjoAsxYmSX+8y36oaWwxHs6aMnONOPz9T3L1tFVPu10p9nqV\/uvcHVL2nO6BrjyxnxwtJTU8dJTRU0Ld2OJoa0dwVnZj3syfWq\/wDmP3fwSoiKs1hVl6vlNZqbek9+d4+6hHFx\/QKe6XOC00L6uoPujRrRxc7kAqXZ60S1Mv23d2l9XId6Jr+EbeRxy7uinFK12Z6tSWLo6er+y\/tCOhslVfKgXO\/Z3eMNKMgNHf08OPVahjGRsDI2hjWjAa0YAXpeXOaxhe9wa1oySTgALkpOROnSjTWWu7PSqLvtJRWk9kc1FSfhhj455ZPL69yra2\/Vl4qTbtnhnlLVHQMHd08ePRWFp2dorQDUPImqSMvnk5dcdFLCo5yKnVlUdqWnPby5mWv7bxV08E9zmELqiXcgoxpgcyflxydeS21stdLa6VsVPCxjt0B7wNXnqSs\/Qlu0e1T67BNJb\/diOdHOycH9fIdVrF2pJ2USvhaaxSqa7Jvu3CIiqNwRQ1NXT0cfaVM8cLM4y9wCla4OaHNIIIyCOaHLq9jM0g9k2+q4mEhlTCHlo4Z0Ofr6rTrMN97\/AGiOxruU2vdoP3C06nPbwM\/DaSXewiIoGkIiIAiIgCIiAIiIAiIgCIiAKvvd1ZZ7ZJVuAc4ENjYTjeceX1PkrBYuoqxtBtnBRgb9JSOOgeQHEDU+umnFThG7zM\/EVXCNo6vJFtspa30dE+uqSXVdae0eTxAOoHjrk\/2V8iKMnd3LKdNU4qKCIq3aC4fZllqKhpIk3dyPH9R0Hpx8kSu7EpyUIuT2KWTd2n2nMBy+32\/4xruvfqOvXOvQFaxU2ytvFBZIi5m7LP8AeyZGDk8B6YVjW1tPb6V9TUyBkbBqevcO9Sm7uyKKCwwc56vN\/wB3HqpqoKOndPUytiiZxc5ZbNbtlUODHSUlqjOMj4pT\/PId655Xm\/zivvNSKG2NOYIHPw6XHPHE+PorB+1tOGeyWOglqnMADA1haxo8OPyCmouOmv4M860aj67tHlu\/3Yu6enobNQ7sYjp4Ix7znEDzJ5lZuuudXtTUfZtoD46PP39S5pAI\/bu4nuGVPBYLleZG1G0FSRGDltJGcAeOOHzPetJTU0FHA2CnibFGwYDWjAXLqOerLcM6qw2wx+79iOgoYbdRx0sAw1g44ALjzJwulEVWprSSVkFTXvaKG0ltPHGamskHuQs5dMqK\/X99HM23W5nbXCXQNxnczz8ef1VEWSWiU0lK8Vd9qz97MDnsQehPPXj5q2EN2Y6\/EWvGHm\/0ubOF9Jcr\/fm0tVN2kjTmYN+GnbnUDvHTr5r9GiiZDEyKNoaxjQ1rRyA4BV1jskNlpSxp7SeTWWU\/iP7Kyc5rGF7jhrRknoFypLE7LQlwtB005S1ZmreO32+uMwOWRQhnnho\/QrTrMbGB1Q24XN7cOqqg4z0Gv\/d8lp1yprYlwudPFzbf3CL4SAMk4AWTvm2bInOpLTiaYnd7YDLQf8o\/Efl4rkYuTsiyrWhSjeTNaiqtnKavprWBcpnyTyOL8POSwHln5+atVxqzsShJyim1YIiLhMIiIAiIgCIiAIoaispqRu9U1EUI6yPDfqqep2zstPkNnfORyiYfqcBSUW9EVzq04dppFRtjfqqluIoqWUxtbHmTHMnOnpjj\/r17DWv2ehfcJW4kqPdjyNQwfuR8gslWyz36+SyU8T3yVD\/u2c8AafILWQwbXzwxxsNJb4mANawAHDeX9S0SVoKOh5NGo6leVVptLSxq1HLUQQDM00cY6vcB9Vmxsxdqg5rdoJzniyPOPqB8lLFsPamHemfUTu578mPoFRhitz0ekrPSHq\/a53T7TWWnzv3CJ3\/Ly\/6ZWW2i2gp7vVUkVK2WamhfvyMDMF5\/0yOHMrVwbO2emx2dvhJHN43\/AK5VPYmwy7TXa4brY4KYdk33d1rQOJHTRvz71OGFXa2M9dVpWhJpXe3qeKnaq8tpn1Edl9nhZxfUE4\/TPkuGG33rbBjaqqqGQ0zSRH7uhPMgc+mSV1gS7aXMPO9HaqR2MHQyu\/fHoD3rXRRRwxNiiYGMYMNa0YAC65KGizIwpSrtucm4+l\/TYz9JsTbIHb9S6Wrfz33YHoP3V9BTQUsYjp4WRMH4WNAClRVOTepup0adPsqwREUS0Kkv19+zw2jo29tcJ9I42jO7nmV0X29R2akD93tKiXLYYwPid+2oWQidV0tW9kQNRfaw+8ePszT38nY9ArYQvmzFxNfD1I6793y9ifefY3mmpiay\/Vmkkg97sc648f8AXgtDs\/s+y0RGaZ3bVsuskp1xnkP35r3Y9n4LQwyvd21ZIPvZna68SB\/NVbpOd8kKHD4bSmvBcvnmwqfamuNBYKh7XEPlHZMIONTx+WVcLK37F32moLS0h0cB7WcYHjj0\/wCpRgryzLeJk402lq8l5lzYaIW+yUtPjDtzefp+I6n648l0V1fTW2mdUVUojY31J6Ac1W3naamtj\/ZoWGqrDoIWa4PLP7cVTVFD2Dftnambtn\/k0bTpn+n+3rlSUbu8iuVZU44KedvRePscl7vlbdqR0vvUdv8AhYwn36g9O8fId5wrHZLZk0wbca+L704MMbh8H+Yjr06ePCW0Wee6Vjbzd4wBgezU2PdY3lp+nmr+vuNJbYO2rJmxN4DPFx7hzUpSssESijRxS6eq\/C\/57u5HUvm8N7dyM4zhYa6bc1E5MNsi7Fp07R4y8+A4D5qx2VstfDUPutymlE0rd0Rvd7xHV37KDptK8i+PFxqVMFNX5vY1KIirNgRFV3TaK3WkFs82\/KPyo9XefTzXUm8kRnOMFeTsi0XLXXOitrN+sqWRDkCck+AGpWeZWbSX4H2WJltpXcJH53yO7+wHiuuh2Ot9OTLWOfXTuOS+XQZ8M\/XKnhS7TM\/TTn9KPm8l7kMm17qp5is9tnq35xvuG60Hl\/DheHW\/am6HNVXx0ETvy4h7wHl\/5LTRQxQMEcMbI2Dg1jQAvaY0uyh0EpfUk34ZL3M7TbFW1j+1q3zVkh1cZH4BPXTX5rh2qkt1ltxoaGmhiqaloDi1nvCPnr34x6rV1NRHS00tRKcRxML3HuAyvym6177tdJap53RI7DQT8LeAHorKeKbuzJxjp0KeGCV2ajYG3DdnuL2nOeyjJHm4\/Qeq2ar7EaP7FpRQu3oAzAJGDnnkdc5VgqpyvJs28NTVOlGKCIqO5bU0lHP7JSMdW1ZO6I4tQD0J\/QKKTehbOpGmryZeL83tLK261E1rp3OihnnMlS9o4N6fX5K1q9q7rRdvSVlJHHVPYDCIzndJwO\/PM8eK6dgImC0VEoaN905aXdQGjA+Z9VdFOEW2efUnHiKsYJ6Xv7Gjo6OCgpI6WmZuRxjAH6lToioPSSSVkEREOhQVlXDQUklVUP3YoxlxXBd9o6G0Dce\/tqg\/DDGcu8+izNK65bYXR0Fa50FHTnekiYMbp4Aa8+PHvVkYN5vQy1eJjF4IZyf9mcWbrtVfDPTb7Qx3uPJw2BudNevhrlbay2OmssBbGTJM\/wD4kzhq79h3LtpKSnoadtPSxNiibwa3+aqZJ1L5LQjQ4VU3jk7yCIqK57VUlJJ7NRtNdVu0bHD7wB7yPoFBRb0NM6kaavJlvVVUNFSyVM7wyONpcT+g71+fWZ93uVdVy0DSyWqd95VH8ppOcA8uXDXQYXquhvF7vcFDWysEr\/eMDSd2AYzqORx4lbOpqaHZy0gkBkUTd2Ng4vOOHeT1VyWBW1bPPcnxEsT6sY\/3kV8dJa9kaA1k57aqcMGR2r5HHiG9B\/CobZbJ7pU\/bl8w1rRvQQO0bG3jk5\/nMqtFTG6dl+2gfnI3qOibqSORx07zx9MzTi4X6L2y7z\/ZdpGCI84c\/XTx8T5Bds+fn7EMcXZJZLRfuR31u08tZO6gsEJqajOsxHuNHM6\/U6eKz9RATWmNzjeLs\/IcBkxw4\/6seQC76Y1V3YaDZ+D7PtrTiSoIO9IfHifD1I4LTWqy0dng3KaMb5HvyH4nf27kuoHVCfEO7eXPbyW\/izgsezEVveKyscKitOu9+GPuA\/VX6IqHJyd2ejTpxpxwxQUFXWU9BTPqKmURxsGpP0HUr1U1MVHTSVE7wyONu85xWVo6Wfa+rFwrsx26J5ENOD8eOv6nyUoxvm9CFWq4tRiryf8AXZ9dcLxtO\/s7ax9DQZ1qHaOd6fQeqt7bszbbce07L2icnJmm952eo5D6q1jjZFG2ONjWMaMNa0YAHcF6Rz2WSOQoJPFPN\/2gREUDQERQ1dVFRUslTOSI4m7ziBlDjaSuzKbd3XcijtcTtX4kmx0\/CPXXyCzVitEl5uLadpLYx70rwPhb+65q6rmudwlqpATJM\/IaNcdAPAYC\/SdnLMLNbGxPANRId6Vw68h5D9Vrb6OFtzwoRfGcQ5PsosoYY6eFkMLAyNgw1rRoAvbnBrS5xAAGSTyXx72RsL5HBjWjJc44AWUqa2q2sq3W+3l0NujP39R\/idw\/b1WaMcR7FSqqaSSu3ojzdL9UXiWWhtL+ypGDNRWEHAHMD+ZK+WWvtVDVx0Voopqt73BslUW9SATwyAAc8h9Vb11gjds+62UH3OBlpzjfP+Y96z1dc73Z7X9mT0EMXbNMcUsOBnPHAHP04hXRtJWRgqY6c8dT1tfyXLxPdFU09628M24HxRA9kepbwd66+isNhSI7bV0xz2kVSd4EYxoB+hWdsNxo7PenT1DJomNp9wN3feL8Nzkd+p9F02zaOkt18uFRFDNJT1bt5rWtG8DnPDPeVKUW00u4po1oxlGcnnd38\/8AR+gIsu7aW712G2uySYdwkm4c\/AD1T7H2kuR3q+7ClYfy4Bw540x9SqcFtXY9L\/kqX04t\/ZerLS57RW205bUTb0v+FH7zv7eaqhWbRX8\/7nELZRn81+r3Du\/tjxVjbtl7ZbpO1bEZpv8AEmw4g9w4K4S8Voc6OrU7bsuS9\/Yzv2LS7OWyqrqaN9TWNYSJZBvOB6gAeZ+q9bHtpYrMzs6iOWeZxklw4F290OudAr9zQ5pa4AgjBB5qhqdi7NUOLmxSQE\/4T9PQ5RSTVpHHRcJKVNKy20LeaupKZm\/PVQxt6veAqSp2ypO1bBbKeWvmdwDGlo+mT6L3DsVZonZdHLL3Pfp8sK6paOmoouypYGQs6MbjKdRd5K1efKP3Zmfsm\/35+9dan2KmP5ER1I8v1J8FZmltWyttkqo6cDcGC46veToBlXBIAyTgBYK9Xmlul135ZA630RyxgGtQ7TI8O\/kPFSjebtsUVVDh44tZPd\/2x3WiWOz0E+0N0cTU1xzGzmQdcN7jp4ABULq25bRXYSNhM8oOIosZjjaev9+PyXg1Tb7ce2ulaykgYAA1rSd1v9LAAVZ1O0lJQxfZ9gY2miJw+qe05d38M+fyV1mnpmee6kZxScrRXq3z\/wBnTJTW\/Z1\/tVxk+07vIQWRDUNPLT9T3YAXXSWOuvlT7ffnOYz8ukacADv6fVetlqSzOlfNBV+31zPefK9jgW500yPmtQqZTadtz0KNCM43enJZ+r3Z4iijgibFCxscbBhrWjAAXtEVJ6GgREQGavxfd71S2KMuEI+\/qiNPdHAfzmR0Whhhjp4WQwsDI2DDWtGgCzlrBbt1dDIDvOiG4TzHu8PktOpzysjNQ6zlN63t5IIiKBpCIiALHbW3GKsrY7V2pjp4T2tVI3Bx0A1468OpCvb3faWz0r3PkY6oI+7hzq4+XAd6\/PZ7XXu7GoqmubNXTYjDx7zyeLseJHqr6Uc7s83jq2XRxz5\/3eX2xdoZU1cl2fFuRRvIgZnIB58eOAePVa+vuFLbaY1FXKI2Dhni49AOZVRU3e37M0MNug+\/qGNDWRM4k9XdMnVc9vsFVdKkXPaA778fd0v4WjvH6eq5LrPFLQlS\/wAUVSpq8t+S8fYgEdz2wkaZmvorUDkAfFLr8\/oO9aiko6egpmU9NEI42DQD6nqVM1oa0NaAABgAcl9VcpXy2NVKioPE3eT3Cy0xN325ih1MFtZvnTTe0P1I\/wDytLNKyngkmkOGRtLnHuAys7sVAZKarucoHa1cxOe4a\/Un0Uo5JsrrdacKfm\/L5Ldtno23aa5lpdNMwMcHHLdMagddB6Kp2tppadlJd6NmJaJ\/vbo\/Cevdn6laVeXNa9hY9oc1wwQRkEKKk07llSjGUHFZX\/JDQ1sNwo46qB28yQZ8DzB8F0LIATbG17zuPltNS\/OmvYn+eowtXBPFUwsmgkbJG8Za5pyCuyjbNaHKNXH1ZZSWv9yJERFAvCIiAL4SAMk4AUFbXU1vp3T1UzY2DmeJ7gOaydbWXjamGdtsidDQMBGXHDpj0z+nqpxg34FFWuqeSzfJHNtTtSawvoKB+KcaSSj8zuHd9fDjxUUVDbYu1ubPa6twxDRD8ORjL+h7uK+2zZG7VpbK5vskehD5Dh3kBr64W0tOz1BaBvxMMk54zSau78dFfKUIKyPLp0q9efSTVvH2M9b9kJbjN7ZcY2UUR+Gmhbg47zy+Z8Fp2WO0xsDBbaUgDA3oWk+pGV3oqJTkz06fDU6ayRDT0dLSBwpqaGAO+Ls2BufHCmRFAvSSyQREQ6EREBnr9Z6s18V4tRAq4QQ9h\/MAGn7f6L1bdr7dVtDKp\/sdQNHsl0bnng\/vhX64620W+4j\/AHuljlP9WMH1GqmpJq0jNKlOMnKk9dU9PgkbXUbmhzauAgjIIkGqOrqNoy6rgA6mQKnOxNlJyIpR3CQr63YqytP\/AApXDoZClocxi4j\/AKr1+DoqtqLNStJdXMkPJsXvk+mirJL3eryNyy0D4IXD\/wBzOANO7l6ZVzSbP2midvQUMYdnILsvIPdvZwoNprq62Ws9jn2ic9nFjiCeY0UlhvaKIVFVwOVSVkuXuzKWiyfae0krZ5\/a46Y71RI4HD3Zxug514HXuWwvNjgvLY+0kkifGchzHHhg6Y4c+KWC0ts9rjgwDK4b0p0+LpnmArNJzblkKHDRjStJa6lXbNnrfandpFF2kx4yyau8unkrREVbbepqhCMFaKsERFwkU21k\/YbN1RBwXgMHmRn5ZXVY6cUtko4QMYhaSO8jJ+ZKqduJP\/SIadvxzztAHkf1wtFFGIomRjgxoaPJTfYRmjnxEnySX5PaIigaSOaGOohfDMwPjeMOa4aELNP2cuNne6awVeWnV1NMfiOvPgePPHDitSikpNFVSjGpm9ee5lm7X1NG0NutnqIXN+J7B7p7wD+66BtvZiM78w7uzWhUJpKZxy6niJ6lgUrx5FfR11pO\/iiil24tTGgxsqJSTgBrMfUqL7dv9xbuW6yug3hpNOdAOoyAPqtJHTwRHMcMbD1a0BSJiitEOiqy7U\/Rf7M1S7JGapbV3qsfWzDXc\/AO7vHdotGxjI2BkbQxrRgNaMAL0ii5OWpZTpQp9lBERRLQiIgCIiAIiIAiIgCIiAIiIAslQk7R7VyVxw6it5xDp8TuR79QXeisNqbm6koBR02XVdYeyja0jIzoT+g7122O1stFripRq\/4pHY4uPH9B5KxdWN+Zkn\/lqqGyzfjsv2WCIirNYREQBERAZe\/j2zauz0OMhh7YjqM5\/wCwrULLUGK3b6un\/DSxbjeHHQf+S1KsnlZGXh83OfN\/jIIiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAF5e9sbHPecNaCSegXpZra6ulcyCzUmDUVrgHDozOPLJ59xUorE7FdWoqcHIhssbr7tDPfJQfZ4SY6ZrgfI\/U+JWrXPQUUVvoYaSH4Im7uep5nzOSuhJO7I0abhHPV5vxCIiiXBERAEREByUltpaKpqainjLX1Tg6XUkE6\/ufVdaIjdziioqyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgI6ieOmp5J5XBrI2lziThZzZynfdLjUbQ1Lcdo4spmni1o0z6aeq+bVzzV9TTWGkyXzuD5iBndbnTPdz8h1WjpqeOkpoqaFu7HE0NaO4Kzsx8TL9WtbaP5+CVERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCiqaiOkppamZ27HE0uce4KVZbayokrqqlsFK77yocHSno3ln0J8gpRjd2Kq1To4OW+3iSbK08lXJVXyrjHbVb\/u88WMHIacOA8AtKoqanjpKaKmhbuxxNDWjuClSTu7ijT6OCjv+wiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERARVNRHSU0tTM7djiaXOPcFm9k6eSuqqq\/1TfvKhxbEDybzx6AeRXva+Z9U+jskEgbJVyAv7mg6Z7s6\/\/VaGmp46SmipoW7scTQ1o7grOzHxMv1K3dH8\/CJURFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICpp7IY9oai7S1BkL27kTMY3Bgft81bIi622QhFRTtzCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:42",
    "ubicacionGPS": "LatLng(lat: -23.1006315, lng: -70.4525499)",
    "horaLlegada": "15:35",
    "horaDespacho": "15:10",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:43:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:43:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 15:43: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('69020400', 'EP2909', 1, 21773342, 36, NOW(), 
				'15:10', '15:35', '15:42', 3, 'Mantenimiento
limpieza', -1, 
				'', '','1','216',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786477393.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006315, lng: -70.4525499)' )
				
[11/08/2026 15:43:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201444

11/08/2026 15:43:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201444'                    
				WHERE idllamado = 13731			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 15:43:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13731			
				
11/08/2026 15:43: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/08/2026 15:43:13 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-k+H3zpHYR-S0941xfm5DCsRGskM4UkdEamHKV5Mr_V+ahHy2tEw
11/08/2026 15:43:13 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:43:13 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786477393.png
11/08/2026 15:43:13 Envío correo: OK
------------------

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:43: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/08/2026 15:43:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:43:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:43: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/08/2026 15:43:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:43:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:43: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/08/2026 15:43: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:43:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:43: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/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:17 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:43: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/08/2026 15:43:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:43: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:43:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:50:32 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:35 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:50:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:50:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:50:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:50:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:50:36 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 15:50: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;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:50:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15:50:36 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

[11/08/2026 15:50: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;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15:50:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:36 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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;
                

11/08/2026 15:50:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13731
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13731
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15:50:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:38 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

[11/08/2026 15:50: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/08/2026 15:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:50: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/08/2026 15:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:50:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:51:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 15:51:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:51:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13757
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79609330
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3518
            [SerieInternaMaquina] => TO2760
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[11/08/2026 15:51: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;
				

11/08/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 15:51: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;
                

11/08/2026 15:51:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LEONPRODAL S.A.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76053835
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

11/08/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 15:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 15:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13757
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79609330
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3518
            [SerieInternaMaquina] => TO2760
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:51:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 15:51: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/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15:51:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13757
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79609330
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3518
            [SerieInternaMaquina] => TO2760
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15:51:49 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 15:51: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/08/2026 15:51:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13757
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79609330
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 3518
            [SerieInternaMaquina] => TO2760
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:51:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:51:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:51:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:51:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15:56:18 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

[11/08/2026 15:56: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/08/2026 15:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:56:18 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:56: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/08/2026 15:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:56:18 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15:56:18 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

[11/08/2026 15:56: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/08/2026 15:56: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/08/2026 15:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:56:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 15:56: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/08/2026 15:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13758
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 15:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3121
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:56:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:56:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:56:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:56:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:58:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15:58:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:58:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15:58:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13758
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            
=========================================
FECHA: 11/08/2026 15:58:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fx6bAVDvp.PrSbsFPYfQWpBOx8UJvtMGtlVQnqMZJjc2Go8q+fm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79609330",
    "serieinterna": "TO2760",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "77166",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13757",
    "observacion": "Entrega toner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEANkDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABBEAABAwMBBAYIBAMGBwAAAAABAAIDBAURBhIhMUETIlFhcbEUFTKBkaHB0SNCUuE1YnNykqKywvAHJDZDVILx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwUGBwEBAAAAAAAAAAECAxESITEEIjJBURNhcYHB4SM0QpGhsdHxUv\/aAAwDAQACEQMRAD8A+zIiIAiKq1BeY7NbnS5zNIC2Fv8ANjj4BdSbdkRnNQi5S0RLjuVHLXyUMc7XVEbdpzByClKk03apaKldV1pc6uqetKX7y0Z3DPzP7K7XZJJ2RGlKUo3krBERRLAoFyvNBaWbVXOGuIy2Mb3O8AqDUOr3U8klJa8Oc0YknxkNPYOXvU606Xp4XCtuDzXVj+sXybwPcePifkrMFleRkddzk4Us2tXyX9Inr2\/3YudZ7c1lPwEsvE94yQPNerbTqh+y+W9xtcOLWt3eQWmRMfRHVs985yb\/AB+jM0V\/r6Cvitt+ha18uBHUs3Nd48vh8FplSatpW1FgmkDfxafEkbhxaQRn5ZU6zVRrLPS1BOS+IZPaRuPzC5KzWJHaTlGbpyd+aJqIigaQiIgCIiAIiIAiIgCIiAIiIAiIgI9fXQW6jkqqh4axgz4nkB3rO2WgmvtYL9dBuBxTQflaBwPx+686xztV3\/0CMu9XUTszuGOs\/eN3kPeVrWtDWhrQAAMADkrOBW5syL487vhX5fscoiKs1hZLUd9qKirNkteelcdmaUHGz2jPIDmVK1HfZYZm2i2gmunIbtDd0YP17+SrrjQQ6a0+aaMiW4XA9E5\/Mj8wHdwHflXQjazZg2mq5Jxi8lq\/Rd5npYKj1K+aLDaJs7WcCDK7B63eO7lnxX1GAg08ZByCweSyeo7ey16MpqRg3slbtntcQST8VpraSbXSEnJMDP8AKEqPErkdkpunUcX0XqSkRFSeiQryzpLLXM7ad+PHZKg6PeX6ZpQfyl4\/xFT7w\/o7LXP3bqeTGf7JUDR7NnTNKd+XF53\/ANsqz6PMzP5heD\/aLtERVmkKNX3ClttMairlEbBwzxcewDmVEvd7hs1OCR0lRJuihHFx+yq6DT9VdKkXLUB23cY6bg1o7x9PipqOV3oZ6lV4sFNXf4XieRut9vrXTW2MUNFGNrpZfakxv\/3j4q30zcZbnZYp5ztSAljnbt5HPcpF4lbS2Ose0bIZA4NAHA4wFD0jD0Om6XI3v2nn3uOPlhSbTjoVQjKNZJybyz\/wukRFUbQsjq3U0lG8UFvlDZcZlkbxZ\/KOwq61Bd2Wa2Pn4yv6kQ\/mxx8AsZYrXNf7g4VReYWPMlQ8\/ndn2c+8\/E9yupxXFLQ8\/a60m1Rp8TNhpc1jrFDJWyvkkky9pfx2Tw3888d+eKt1w1oa0NaAABgAclyqm7u5thHBFR6BERcJhUWrbi+jtgp4HET1bujZg4OOfmB71erLU0ZvmsZqt2fRrb+GzfuL8n65PuCnBZ3fIz7RJ4VCOssv6XNltMVnt7KaMAvxmR4Htu7VYIii3d3ZdGKilFaBERcJHmYYjOJzEwyhuyJNkbQHZnsWZkHrbXjGYzDbo9o9XdtcePiR\/dV9drgy12yasfgljeq0\/mceA+KqtH298FA+4VOXVNc7pC48dnl8ck+8KyOScjJV36kaa8X5e5011\/AG\/wBdvkVdWz+FUn9Bn+UKi16\/ZskLc73VA3d2y79lfW1pbbKVp3EQsB\/uhHwIQ+Zl4IkoiKs1lJq+o9H05UD80pbGPed\/yBU2y0\/otlo4ebYWk+JGT8yqbWf\/ADHqy3\/+TUjd4YHH\/wBlp1Y8oIzQ3q8n0SXqFUX3UEFni2G4mq3j8OEcd\/Anu81xqG+ss9MGxAS1c26KPj7yOzzUawWCSnlN0ujumuEu\/rb+j\/f\/AOJGKSxSFSpKUuzp68309xZLJMag3e7npK6Te1h4RD7+SuamvpKMgVNTFESC4Ne4AkAZJwqy\/wB99AaKOiHS3CbdHG0Z2c8z9F4WvSkLB6VdnOrKx4y4yOJa3w7fH4I896RCLwPs6Su+bfr3nGr66J2m3iGRsnpEjY2lhzz2vIfNXdvpzSW6mpyMGKJrD4gYWF9WuZrFtpZtClbUiYRg7gMB3b2DC+hLs0opJHNnk6lSU5K1svtqFw5wa0ucQABkk8lyszrK7mmpBbKfrVFWNkhvENPd38PioRjidjRVqKlByZmrzVT6l1F0NINtueihbndgcT5nwW9s9sitFujpYwMgZkcPzPxvKgaa05HZoOmmAdWSN655MH6R91eqdSae6tDNstBxbq1OJ\/gIiKo3BERAV1+uHqyzVFSPbDdlm\/HWO4fDj7lH0rbhb7HDlpEs46WTI37+A+GFA1a411fbbMzP48ofJgjc3hn4bR9y07WhrQ1oAAGAByVjygl1Msd+u3\/zl5vX0OURFWagiKPX1sVvoZqub2Im7WO08h7zgJqcbSV2Zq9uN\/1JTWWMk09OekqCPn8jjxctY1oa0NaAABgAclndG0ZFDNcpmnp62QvJP6c\/fJ+C0asm\/pXIz7Om06j1l+uRldf\/AMKpv6\/+krS0zQyliaOAYB8lmtf\/AMKpv6\/+krTwgiFgIwQ0JLgRGn8xPwR3REVZrMtWH1jrylpwMsoY+kfx3HGfq1Wd9v0Nng2WgS1Um6KEcSe093msrRX8Uc9yrmN6atq5ujp4sHqjJOSPeN3E48VfWDTz4JTc7oemuEp2usc9H+\/lyV8opWxcjzKVSU7qnq3dvotF5nNjsc3pJu92\/Erpd7WnhEPv5Kbe73DZqcEjpKiTdFCOLj9l73S601ppTPUOyTuZGPaeewKlsdpqa24G+3dpEzjmCE8IxyODw7h7+KjrvS0L38P4VLV6vp3vvPfTtkmp5ZLrcjt19Rk4P\/bB5ePkNy0CKPcC5ttqSwEuELy0AZycHlzUG3J5l8IRpQsjH2Su9Ya6nqRva4PDDn8oGBw7gtwvneiiwXx8rnhjI6dz3l3VHED69y0Fw1Yx7zR2WI1lU7cHAdRvLPf5d6tqRblZGHZK0Y0XKbzbZK1BqBloiEMLemrZd0cQ34zzP25rw0\/p99NKbnc3dNcJet1t\/R5+vlwC9LJp0Uc3rCvf6TXvGXPdv2Cezv5ZV6oOSStE0wpyqS7Sp5Lp7hERVmoIiICHcKerqGwikq\/RiyUOkOztbTRyUxEXbnErNsy9OPTf+INRId7KODZaeOCQBju9py1CzFj\/AOsLz7vNadSnqjPs3DJ9W\/2ERFA0hZTUEr77d4rDSl2xE4SVLxwA3eQPxIVrqK8i0UGY8OqpjswMxnJ3ZPuz5LppqzC128PmbmrnG3K4+0M\/l93mrI7qxGSt8WXYrTn\/ADzLaKJkMTIo2hrGNDWtHIDgF3RFWazK62eHyWykLdoSz5I7cYH+papZDVOH6os0RJ9tmR2ZePsterJcMTLRd61R+H6CotSaigtFM6BhElXI3DWfpB5n7Ltfb8Lfs0dG3p7hNuZG3fs55n7KpqdPuoNP11bWOFRcZ2jae4bQYC4ZA3Hf3+S7CKyciNetJqUaeq1fT3PXRdjgjpGXWUbc0mejyNzBw3d\/Herm93unstJ0svXlduiiB3uP0HequDUVus+n6aKOUVM7ImtEUZz1scyMgf7xlLNYqmrrTeb4NqoJzFC4boxyyPIe\/iutXblLQqpyw01So683072dbPZKq41TbxfCXyHfDTuG5g4jI+nxWpRFXKTkzZSpRpqy\/wBC6vY2SN0b2hzXAhwPMLsuk0rYYXyv9ljS4+AUSx95g7Tp2kud2uVP0szKellDRskZcMuHhy7FtaC2Udti6Ojp2RDmQN7vE8SqTRLHPt9VWv8Aaqagu9w\/claVW1JO9jHsdKCpqds2ERFUbQiIgCIiAIiIDMQujtWuJ45SQ24Rh0bj+rs+IPyWnVbe7NFeqMQveY5GHajkH5T4c1UQ3u82iMQXa2yTtYABUQ784HM8CfgrLY1lqY1LsJNSW680\/RmpUC7Xmjs9P0tS\/rEHYjHtPPd91TnVlXXDorVaKiSV24PkGGtPfj6kL1tem3vqfWV7cKmscchhOWM7N3D6JgtnIk67qZUc+\/kjytFuqrvcBe7sxzdkg0sByAwZ3Hy8eK06IoyldltKmqatz5vqERcEgDJOAFEtMjfQ5+urUwHcGMd\/id9lYX3UT6SdtttsfpFfLuwN4jz29\/PzVDfqp9z1bTts8gknjjEbXtIwHDaJIPcD8lprHp6ns7DIT01XIPxJneQ7Pqr5WSTZ5lNznOcaejev87zzsFgFtDqurd01fNvkkJzs55D7q5exskbo3tDmuBDgeYXZFS227s9CFOMI4Y6EGls1uopTLT0cbJCc7WMnPv4KciI23qdjFRVkrBERcJBVWppug05WvyRmPZ3fzED6q1Wa1rI6Sko7fHjbq5wB7v3IU4K8kUbRLDSk+4stNw9Bp2hZjGYg\/j+rrfVWa6RRthiZEwYaxoa0dwXdRbu7lkI4YqPQIiLhMIiIAiIgCIiAIiIAiIgCLgkAZJwAs7cdU5qPQbLD6bVE4LhvY37+SkouWhXUqxpq8mXNfcqO2QdNVzNjbv2QeLu4Dms2+a8as6lO00NrccOe72pBz8fdu71LoNLGWf06+Tem1RwdgnqN7sc\/Dh3LRAADAGAFK6jpmyjBUrceUenN+P8ADG2e201LrmaClYRFSQ5BcSSSQAT49YrZrP2y3VkOrLjWyxbEErMMdnO1vHf3LQJUd2juywwRatbNhERVmoIiIAiIgCy9Ri5a+hiByygh23D+bj5ub28FppJGRRukkdssYC5x7AFmtHROqDXXeTO3VSkDJ4AHP1+XxsjkmzNX3pwh33+3uadERVmkIiIAiIgCIiAIiIAiIgC8ayWWCjllgh6aRjC5sYONo9i9kQ480ZQ2e+3\/AK92q\/Q6c7xTRcSO\/wDfPgr+22qjtMHQ0kQb+px3ud4lTEUnNvIqp0IQeLV9WERFEuCIiAIiIAiIgCIiAqtTVAptPVj9vYLmbAxxJJx9V309B6PYKKMgD8IO3d+\/6qs1u9z7fS0bDh1TUAe4fuQtG1rWMDGjDWjAHYFN5QRmjvbRJ9El98zsiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiArbhbIK26UFRM5+1TOc5jQRjO4793cFZIik9EU01vS8fRBERRLgiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "SOCIEDAD DE REPUESTOS RODAR LTDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "AUTOMOTRIZ MIRANDA",
    "correoContacto": "alejandra.jofre@automotrizmiranda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I650\",\"id_control\":\"29610\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:58",
    "ubicacionGPS": "LatLng(lat: -23.6293648, lng: -70.3959372)",
    "horaLlegada": "15:50",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 15:58:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 15:58:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79609330

[11/08/2026 15: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('79609330', 'TO2760', 1, 19969062, 77166, NOW(), 
				'08:00', '15:50', '15:58', 10, 'Entrega toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786478338.png', 'Entrega toner', null, 'COMPLETADO','LatLng(lat: -23.6293648, lng: -70.3959372)' )
				
[11/08/2026 15:58:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201445
[11/08/2026 15:58:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201445', 'TOS-I650', 1)
				
[11/08/2026 15:58:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29610 and
				    IDproducto = 'TOS-I650'
				

11/08/2026 15:58:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I650';
                
11/08/2026 15:58:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201445'                    
				WHERE idllamado = 13757			
				TO ENVIO: micorreo@miempresa.cl, alejandra.jofre@automotrizmiranda.cl, donkhapone@outlook.com


11/08/2026 15:58:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13757			
				
11/08/2026 15:58:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                
11/08/2026 15:58:58 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-fx6bAVDvp.PrSbsFPYfQWpBOx8UJvtMGtlVQnqMZJjc2Go8q+fm
11/08/2026 15:58:58 Detectado modo MULTIPART/FORM-DATA
11/08/2026 15:58:58 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786478338.png
11/08/2026 15:58:59 Envío correo: OK
------------------

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:59:01 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 15:59: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;
                

11/08/2026 15:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:59:01 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 15:59: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;
                

11/08/2026 15:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13757
            GROUP BY l.idllamado;
            

11/08/2026 15:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 15: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 = 13757
                and cs.estado_control = 1;
                

11/08/2026 16:01:56 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 16:01:56] 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/08/2026 16:01:56 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)
[11/08/2026 16:01: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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 16:01:56 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:01:59 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:01:59 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:02:02 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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;
                

11/08/2026 16:02:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:02 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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;
                

11/08/2026 16:02:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:02:03 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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;
                

11/08/2026 16:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:02:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:02:03 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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;
                

11/08/2026 16:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:02:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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/08/2026 16:02:05 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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/08/2026 16:02:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:02:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:02:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:02:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13751
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:02:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:02:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:02:06 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16:02:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:02:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:06 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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/08/2026 16:02:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16:02:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:02:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16:02:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:02:16 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:02:16 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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/08/2026 16: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 = 13702
                and cs.estado_control = 1;
                

[11/08/2026 16:02: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/08/2026 16:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13702
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13702
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:02:26 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:02:26 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:02: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/08/2026 16:02: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/08/2026 16:02:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:02:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:02:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:02:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:02:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 16:02:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tPJC5-j+ha0P2hs27u425ftTplzrh1n+grJ5MKnp3uTRf4IErQA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3121",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "3777",
    "contadorColor": "13117",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13758",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADWAQMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAgcFBAgCBwkAAAABAAIDBAURBiESMSJBUWFxgZETFKGxwRUjMtEWJDNCUmLh8JKyJTRDU3KT8TVUVXSCosLS0\/\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgYCAwEAAAAAAAABAgMREiExBBNBUdEiMmFxgeEzkaGxwfAUQgUjUlP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAReXvZGwvkcGNaMlzjgBZip1FW3eodRaehJwenVPHRA7s8vP0UoxbKqlWNPXXlxL+vudHbYvaVlQyIdQJ3d4DmVQO1TX3E8FktUkoyQZZRho+OPUqRb9JU8cnvV0lNwqickyElg8jz8\/RaBrQ1oa0AADAA6lK8Y+JVatU1eFfUzIoNXzgPkulPBsOg1o28cN+pQ2vVkWHxXmGR3W17dvLon6LTouY3yR3+NH\/p\/NmXj1JX2ypFPfqIxMP4aiPdp27tj5bjsWma5r2B7HBzXDIIOQQuVZRwV9JJS1LOOOQYI+oWf03USW65VOn6h\/F7El1O4\/vN549CD6rrSkro5FzpTUZO6ej8eRp0RFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKPW11PbqV1TVSCONvbzJ7B2leLlcqe1Ub6qpdhreTRzcewLO0dBV6orW3K6MMdCzenp8\/iHafz6\/BTjG+b0M9Wq08EM5P9uzzHTXLV0gnq3OpLUDmOJv4pO\/+p8gtRSUdPQUzKemiEcbBsB8z2ldmtDWhrQAAMADqX1clK+XAlSoqHaebfEIiKJcEREAWX1KG0d\/s9xADcyezkd3ZH0LlqFmNedGzU7x+JtS3B\/8AS78lOn3jNtfwW+WfyNOiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAo9bW09vpX1NTIGRsG57e4d66TzxU0D55nhkcY4nOPUFk6OGfV9x9+q2vjtkDvuYT\/tD\/fP0U4xvm9CirVcbRjnJ\/t2e6GiqNUXAXW4s4KFm1PAf3xnr7u3t8FrAABgDACNaGtDWgAAYAHUvq5KVyVKkqa5t6sIip7pqe22uQwvkM0429lEMkHsJ6lxJvQlOcYK8nYuERFwmEREAWY19\/wBhw\/8AmW\/5XLTrMa36VNQRjm6pGPT+qnT7yM21\/AkadERQNIREQBERAEREAREQBERAEREAREQBERAEREAXwkAZJwAvqzOobhPX1rNP2149pMMVEgP4G9Y9Ofp1qUY3ZVVqKnG5GrJZdXXVtHSue22U7szSjYSHu+nqtXDDHTwshhYGRsGGtaNgFHtdtgtNCykgyWt3LjzceslTF2Ur5LQjRpuN5T7z16BeXOaxhe9wa1oySTgAL65wa0ucQABkk9SyNTUVWra99DRSuhtsJxLKB+0\/s5wPNcjG52rV3aSSu3ojpWXW4ahqn0Fk+7pWnE1WdgfD+8nwVvadP0FnaHQR8U2MOmfu4\/l5KZRUVPb6VlNTRhkbBsO3vPepC65cFoRp0c8dTOX28giIoGgIiIAsxqsmW62WlB\/HUcR7t2\/mVp1idRXaCLVdFKz9YFKzdsRyS856Py9VZTV5GTa5JU7Pi19zbKPV19JQs46qojhGM9J2CfAdaz4\/Su775itcDtx\/Hg+pz6LrS6Kt7He0rpZq2U8y9xaCfAb\/ABTClqzu+qT+HH1eXufajW9phPDF7aodnH3bMD44XEakvVWSKGwSAdTpiQD8APitDT0VLSN4aemihA\/gYB8l3TFFaI7u60u9O3kutzMe\/az\/APCaP\/GP\/wBEN71HRAPr7G18eekad2SB4AuWnRcxrkNxJaTf06FRaNSUF4d7OEvjmxvHIMHr5dvJW6oNTWdlRSuuVN9zWUgMjXsGC4Dcg\/RWFkrzc7PT1bvxvbh+2OkDg\/EJJK10dpzmp7ueut+ZPREUDQEREAREQBERAEREARFHrq2G30clVUPDWMBO5xk9g7yhxtJXZX6jvYs9GBCA+rmPDEzn54\/vdfNN2T7Ioi6fD6uY8Ur+ZH8uev8ANV+naKa61z9Q3Bo4n7U8ZGzANsj4\/ErUqyXZWFGWknVlvZenlz9QiKm1LevsmhDYcPq5zwRMHMfzY\/vdQSbdkaKk404uUtEV99rKi9V\/2BbSQAc1UvU0dn99e3atDQUMFuo46WnYGsYMeJ6ye9QdO2YWigxJh1VMeKd+c5O+B5Z+atlKTXdWhVRpu+8n3n9FyCIigaAiLjVVdPRQOnqZWxRt5ucUONpK7OyqbvqKhtLS17\/bVHIQRnLvPsVU+83XUMjqeyQmnpwcPqpNj5dnxPgrKz6ao7URO4e8VZ\/FM\/ffrwOr5qzCo94y72dXKlpzf45lV7DUeo96h\/2ZRO\/cGQ5w8OZ88DuXPTFugp9U3AU+TDSN9k0uOTxEgE57ei5a6aVlPBJNIcMjaXOPcBlZ7RMT30VXcJPx1c5PiB3+JKlibiyp0Uq0Lu7zd34e5pURFSegEREAREQEa4gOttU0nAMLxns2KqtFk\/o3DkYw9+O\/pFSNUT+76crHg4LmcH+IgfVe9N05ptPUUZGCY+PH\/EeL6qz+nqZnntC8F92WaIirNIREQBERAEREAREQBZGZztX3r3Zjj9lUh4nOA2ld4+Z8snrUvU1zndJHZLdk1lUOk4HHC3fO\/kfJW1qtcFooGUsG4G73Hm93WVYuyr8TJP8A3TwLurXx8OpMa0NaGtAAAwAOpfURVms8ve2NjnvOGtBJPYFl7FC6+Xme\/VGTHE72dK08sb78urPqT2LrrCtlfHT2ak3qK1w4h2Nz9T8AVe0FFFb6GGkh\/BE3hz2nrPmclWLsxvzMj\/21sPCP34fIkIiKs1hEVDe9RGknFut0fvFwk2a0bhh7+\/G\/zXUm3ZEKlSNOOKRLvN9pLNCDKfaTP\/ZwtPSd+Q71TUdkrb\/UNuN9cWxc4qQZGB39nzKm2bTYpZvtC5SGrrndLifuIz3d\/f6K\/U8SjlEzqnKs8VXTl16HiKKOGNscUbY2NGGtaMAeS9oirNZSauqvdtPTNH45yImjx5\/AFTrNSe42elpiMOZEOIY\/eO5+JKormW3vV9LbmvJhoh7WbHLi2OP8o8ytUrJZRSMtPt1ZT4LLqERFWagiIgCIuVTUR0lNLUzO4Y4mlzj3BDjdldmc1K+S53ahscDsBzhLMcZwB25GOWdvBaZjGxsaxgw1oAA7As1pKGWtmq77Ut+8qnlseepo7O7YDyWnVk8uzyM+z9q9V\/2+3AIiKs0hERAEREAREQBQLzdYrPbpKqTBdyjYT+J3UFOc4NaXOIAAySepZGnDtWagNS8H7NojhjTye7+vPwwpxV83oUV6jilGPeenX0J2lrTJFG+61w4qyrPHlw3Y0\/LP5LQoijJ4ncnTpqnFRQRFU6nrzb7FUSNHTkHsm9xdtnyGSiV3Y7OahFyfAq7D\/pjUtdeHsHs4fuoDnyz6f5lqlWadt5ttkp4HM4ZCOOQHnxHf4cvJWalN3eRXs8HGmr6vN+oRFSajvTrfEyjowX19TtE1u5bk4z+Sik27IsqTjTi5SOOoNQPppRbLY321wl6PR39nn6\/LmV30\/p9loiM0zvbVsu8kp3xnqH59aaesDLTEZ5z7WtmGZZDvjPMA\/XrV0pykksMSinTlKW8qa8Fy9wiIqzUFDu1wZa7ZNWPwSxvRaf3nHkPVSnOaxhe9wa1oySTgALJPkdq6+sZG3NroncTnEftHdnn8vFTjG7u9CivUcVhj3np++BYaToJIqSW5VQ\/Wq55kdnqb1evP0V+vjWhrQ1oAAGAB1L6oyd3cnTpqnBRQREXCwIiIAszqaaS5VtNp+lJ4pXCSoPIBg3G\/x8QFeXK4Q2uglq5z0WDYDm49QCptJW+YMnvFaM1NceJvcw7\/AB7OwBWRyWIy13japLjr5e+hfU1PHSU0VNC3hjiaGtHcF1ReXvZGwvkcGNaMlzjgBVmnJI9IvEUsc0bZIpGyMcMtc05B80Q6e0REARFGqLjQ0hxUVkER7HyAH0S1zjaWbJKKkm1fZIjj3zjP8kbj9FBn15b2xu9hT1D3Y2LmgAHqzupqnJ8CiW1UY6yR01RXT1E0Nhod56reUj91n9jfu8Vd26ghtlDFSQDoxjc43ceslYiy3KpoquouM9oqauoqXZEjWkBo68bH+wFOu2rK826WN9mqKRszTG2Z7iMZHVlvPGetWOEsooyU9pppurPXyeS9zR2y8U11kqG02S2ndwl\/U45PI9Y2+KsFibNdLjZrcykj01WPIJc9+HDjcevHB4DyU\/8ASq6Dd2mKwDrPS2\/9ijKm75F1PaoYFjefk+hp1l9Ufrl7tFsB6LpPaSDuz+Qcvv6YTt3ksVYwduD+Sp26ijfql10no5+GKL2bIwMuafPlzcuwhJO5XtG00pxUU9Wuehv1R6gvxoA2ioR7a4TEBjG78HeR9FVXDXcZpXMoqeaKoPJ0rRhvllQrBe7NbeOqqvep66U5fK5gOM8wN\/ikabWbR2rtcJPBCVub5e5q626\/ZNnbVXDgE\/AB7NnJz8cgq7TdrnmlN8unE6slz7JrtvZtx2dXX5eKop77QXXUDaq4OkFDTbwRcGeI7c\/EjPoFoP02s38c3\/LK64ySslqRjXpVJ4pSyWnXoaFFmpNd2loPDHUvPVhgHzK8\/phLOP1Gy1c55b7YPkCq93Lkaf5VH\/o06j1tdTW+ndPVTNjYOs8z3Adazwn1fcdmQQW+M4w52C7Hnn5BdqTR1M2f3m5VMlfOTkl+zfMb5XcKWrOb6c\/hx9Xl7kSSpuWr5HQ0rXUlrDsPld+KTu\/p6rTUVFT2+lZTU0YZGwbDt7z3rsxjI2BkbQxrRgNaMAL0oylfJaE6dLC8UneT49AiIol4REQBfHODWlziAAMknqX1ZHWOoGxRm10svTftUObvwt\/h8SpRi5OyKq1WNKDlI+O4tXX0AY+zKB\/P\/en+uPIeKs7hqu1WyT3cOMr27FsIBDOrBP0WNNyqpbe2ipZPcrfHnLnOw6Q75JI3ce4d3iulnsVbcnB1HE6CL96rl2JH8o\/L1WhwX9tEeTHaZ3tTV5PV9FyXibG56ot9uDWtcaid4BbDFud+Wez59yrG2q9aieJLvKaSjzxNpmbOPj2ee\/cra0adobS0OYz21RzM8gy7y7FbKnEo909DdTq51XlyX55nGkpIKGljpqZnBFGMNblF2RVmpJJWR8c4NaXOIAAySepZ6r1U2SoFJZqd1fNnpOaDwNH1+A711vVmuF4rmROrRDbg3LmMGHOd2Ht\/vZWdBbqS2U4gpIRG3rPW49pPWprCld5meTqzlhj2Vz4+hRfYl\/um90uvu8R5wU3Z1gkY+qkQaKssOOOKWbH+8kP0wr9Exy4HVs1LWSu\/HMhQ2a2U7QIqCnbjr9mCfU7rOyxjU2pPd2gC3W92X4btI7IyPPHoD2qx1Vc5aSjZQ0gLqutJjY0DcDkT3Hfb+inWS0xWa3MpmYdJzkkAxxu\/vZSTaWJ6lc4qpPdxWS1\/CJ7WhrQ1oAAGAB1LM6rAqrpZ6Aglkk\/E8Y2IyB8srTrNaoimpq+gvEcJljpHH2oaeQ55+e6jT7xPavhP0+VzSoqun1JZ6ljXNuELMjlI7gI9V8m1PZYBl1wjdtyZl3yXMMuRZvqdr4l8y1WAZen229XkwRGWrnnMULcZxhzgT8tlZVmvYAfZ2+jkmedgZOiM9WAMk\/BVVg0+zUE1TVVkz4i2bpxsbgknc7nkroRwpuR5+0Vt7OMaLu8\/sTLdXW2ySPlke65XabJeYekASfwg\/PGVFv2pa6eN9HJQNojMBxF+7+E9R22\/Ja+mtltslPJNBTsjDGFz383YA7Ss3bLS+\/0FyutTHmoq+JsAJBAxjGM94Dc9xSMot4mcqU6sYqlF5u+S66mmt9qoKWghhihilY1gxIWA8ffnvUj3Kl\/7tD\/ywq3SdUamwQtccvgJhcOzB2HphXKpldNnoUsEoJpcDwyGKL9nGxn\/AAtAXtEUS4IiIAiIgCLy97I2F8jgxrRkuccALPV+sKdkpprZC+unOcFgPCPz\/vdSUXLQrqVYU1eTNGvD5oow4vkY0NGXZcBgd6\/OblfLpVScFRXcJcC33ajO2+2CRsfUqnaPY1Bjq2yYa77yMHDuIZ2OeRz6bq5UObPPn\/kUnaMTY3nW7WONPamh7s4M7\/wjwHX4lZ2lopK2qLKSI3Cpd0nvIIjYT1nOM+JwO4q2s+jJq0tqrh+rQu6TYGfiI7Dnl8StrSUdNQwiGlgZCwdTRjPj2rrnGGUSEaFbaXjq5L9\/cyitmkYWPbVXV\/vlRj8B\/Zs7gOsfDuWjAAGAMAL6iolJy1PTp0oU1aKCIiiWBERAEXNs0T5XwtlY6RgBcwOGW55ZHUuiALjV1UVFSyVM7uGOJvE4rsspfHzX69x2KnOKeEiSpkAzg4O3y8z3KUY3ZTWqbuOWryXmetN0k1zuEuoa9mHSdGCMjZowOkPLb1WpXiKJkMTIo2hrGNDWtHUByC9pKWJnaNPdxtx4+YXxzQ5pa4AgjBB619RRLSsn05Z6l5fJQRcROSW5bk+Sqbq3TthjLGW6Cerf+CAt4zk8ic5wF3u+pXCX3CysFXWOJaXNGWx\/Qnn3BdrJp1lC81tc\/wB5uEh4nSO3DD3fmrVdK8mYZKM5YaUVfi7adWcbDYJI5ftS5gOq3D7uPGGwjqAHUfkuWkTi43ph2cKnceblp1l7Y77P1tcKMjDKxomacczz+rvRFJyTOypxpSp25\/dHXWVY4UUNshP39bIGgA9WR8zgequ6GkZQUMNJGSWxMDQT196z8DftLXs8j946CINYD\/Fj8y70WoXJZJInR7c5VH5LyXuUtmtFRbLrcpXOaaepeHxgHfOSeXnjyV0iKDbbuy+EFCOFBERcJhERAFQXnVtDa3Ohi\/WKgD8LD0WnvP5LzqSDUFVKymtha2me08bmuDXZ7CT1eHesZNQ0dvlMcswrZ2844Xfdt7eJ\/j1D1V9Omnmzztq2mpDswVvF\/g9XO71NxkLq6pMgzkQQnEbfP\/r4rlG6oqYCOOOios4cQC1p7v4nnu38l6pKOWuqvZ0tMKmfbosbiKPxPX57eKvKm20djgbV3yQV1Y4YhpmnDGgdWOwencr20skeXGE6l5t5c\/f8IonVQoYv1CJ7GyggVUgw94HPh\/hHhv3rRaW0sSWXK5MyT0oonf5nfku9hs77tVfbt0Y3p4NPAB0Q0cjjs7B5rWqmpU4I37Lsl3vJ6cF+QiIs56wREQBERAEREBmr1ZKuC4C9WZxbUg\/exbkSDw6+8fVTrNqGku7fZfsatoPHA7mMc8HrVuqW86aoLmDPn3Sob0vbxgDzd2\/PvVikmrSMsqc6cnOlx1XTkdtQXdlmtj5+cr+hEP5sc\/ALjpizm127jmBNVUHjlLhuP5fL5lZKnbe7nWMmjH2pFbpC1he4cLt9juQTnAK0H21qZuzrCCe1rtvmpuDSwozwrqdTeSTstMvmadFmPtnU8nRjsbGuPIvJx8wvn2Vqe4\/67dGUcZ\/cg5+G2PmVDBzZp\/kX7kW\/S33Le4X622wEVNUz2g\/2TDxP9By81QmovGrHFlMHUFtzh0h\/E8fXwG3era26VtluPtPZGom65JsO37hyCuUvGOhzd1avxHZcl+WQLVZqKzw+zpY+kRh8jt3O8T9FPRFBtvNmiMVFWirILMasifRVdBfIm5NM8MlxzLSdv\/kPMLTqu1AWjT9dxtBHsXbEZ3xt8VKDtIq2iOKm\/n8ip0Sx0tPXXB4w6qqCdznON\/m4rTrE6RvP2e1ltrz7Nk2H07zjG\/UfE\/HK2y7UTUivY5RdFJeoREVZrCIiAKNXXClttOZ6uZsTBsM8yewDrUHUN7fZaRj4qczSyktZt0Qcdf5dyy8Gnb3qGoFXc5XQsPIyDpY7Gt6vgrIwTV5PIyVtocZYKavL6I43rVVZeJPdaJskMDjgMbu+Txx8h8VLs+iKiVrZblIYIzuYGHpO8TyH98lfw0tk0rTcbnMjeRvI85kf4D8lWyV131OXR24Ght4yHVD9i8d3x2HmVbiytHJGN0VixVnilyR1ueoLbp+ndRWqKIzgfhYOg09rj1nuVRp2zzahrn3O5ufLC083f7V3Z4D+i+UlnprrXNoba13uEDgamrd+KU9gPUOwd+TnZbyGGOnhZDCwMjYMNa0bALkpKCstSdKnLaJ4p91aJaHtrQ1oa0AADAA6l9RFnPUCIiAIiIAiIgCIiALP6ruMsVNHbaQu97rHBreEHLW9Z29PDKvKieOmp5J5XBrI2lziThZrTlPJdbpUahqWkB5LKZp6m8s+gx5lTgv7PgZq8m7Uo6v6LiXtpt7LXbIaNmCWN6Th+848z6qYiKLd8zRGKikkERFw6EREAREQBVOqH8Gm60\/yAepAVsqzUUPttPVzOyIu\/wAO\/wBFKPeRVWzpytyZEpbNTXPStFTVLN\/YNcx\/7zCRnIVfFdbtpgNprrTuq6Npwypj3IHYSfkceKudMze305RP7I+H\/CSPorRzQ5pa4AgjBB61Jys2mURpYoRnB2dl+shUF4t9yjD6WqY4nbgJw4HwO6nKkrdI2iukdIYXQvdnJidw75znHJQv0LMP+pXirp99t849CEtB8SeOvHWKfk+pqF8Lg0ZcQB2lZn9Eq52TJqKrc49fS\/8Asvo0TTyEe93CqqN87uxv55XMMeY3lb\/z+qLCs1NZqMHjrI5HN5Ni6Zz5bBVUl\/u95kMFjozFH11MuNvoPiVcUmnLRR\/sqGJx\/ikHGfip8ssVNA6WV7Y4oxkuOwAXbxWiuccK0125WXh1Zn6LSNPG81d3qHVs\/Nxe48A9efn6KLWV1VqapfarQRDQxjE1RjAI7B3d3X4JPWVurZzR0IfT2xpxNORgydw\/L1WmoaGmt1K2mpYwyNvqT2k9ZUm2s3r9imFONTs08o8Xxft4nm30EFso2UtO3DW8zgAuPWThSkRUt3N6SirIIiIdCIiAIiIAiIgCIiA4VtHBcKSSlqG8UUgw4Zx3j4r1TU8VJTR08LeGONoa0dwXVF2\/A5hV78QiIuHQiIgCIiAIiIAuc8LainkgeSGyMLCRzwRhdEQNXMxpGpNK6psdQOGelkc5ne3P57+a06zmobdUw10N8tsfHUQftYxzkb\/0z8OxWFlvtLeoSY\/u52ftIXHpN\/Md6skr9pGShLdvcy1WniizREVZrCKPV19HQM46upjhGMjjdgnwHMrPzaoq7m99NYKJ8rxznkGGt78H6+ikotlNStCGTefLiXdyu1FaYfa1cwbn8LBu53gFnY6W46unFRVk0tra7McQO8nf\/X061NtelI45ffbtJ77Vu3PGcsafr5+i0IAAwBgBSuo93UqwTrZ1Mo8uvQ8QQRU0LIYI2xxsGGtaMALoiKs1pWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCpLppahuVQaoOkpqg4zJEcZ7yERdTa0ITpxqK0lchssOoKPajvxe0DoiZpONuW+e5PsPUk37a\/8GOXs2n6YRFbidrmJ0oqWHO3m+p2pdHUbKj3ivnmuEu28x2J8OvzKvYYYqeMRwRMiYOTWNAA8giKtyb1NkKUKfdR0REUSwIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:01",
    "ubicacionGPS": "LatLng(lat: -23.1006165, lng: -70.4525544)",
    "horaLlegada": "15:49",
    "horaDespacho": "15:42",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 16:02:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:02:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 16:02:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'TO3121', 1, 21773342, 3777, NOW(), 
				'15:42', '15:49', '16:01', 3, 'mantencion preventiva y limpieza', -1, 
				'', '','1','13117',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786478555.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006165, lng: -70.4525544)' )
				
[11/08/2026 16:02:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201446

11/08/2026 16:02:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201446'                    
				WHERE idllamado = 13758			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 16:02:35 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13758			
				
11/08/2026 16:02:35 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


11/08/2026 16:02:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                
TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 16:02:35 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-tPJC5-j+ha0P2hs27u425ftTplzrh1n+grJ5MKnp3uTRf4IErQA
11/08/2026 16:02:35 Detectado modo MULTIPART/FORM-DATA
11/08/2026 16:02:35 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786478555.png
11/08/2026 16:02:36 Envío correo: OK
------------------

11/08/2026 16:02:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:38 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:02: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/08/2026 16:02:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:38 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:02:38 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:02:38 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

[11/08/2026 16:02: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/08/2026 16:02: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/08/2026 16:02: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/08/2026 16:02:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:02: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/08/2026 16:02:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:02: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/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13758
            GROUP BY l.idllamado;
            

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:02:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13758
                and cs.estado_control = 1;
                

11/08/2026 16:22:43 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:22:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[11/08/2026 16:24: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/08/2026 16:24:51 - INPUT: {"rutTecnico":"21773342"}[11/08/2026 16:24:51] 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/08/2026 16:24:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

)

11/08/2026 16:25:21 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:25:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:25:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:25:26 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

[11/08/2026 16:25: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;
                

11/08/2026 16:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:25:26 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:25: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;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:25:26 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:25: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;
                

11/08/2026 16:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:25:26 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

[11/08/2026 16:25: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;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:25:27 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:25:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:25:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:25:27 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:25:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:25:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:03 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:04 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:05 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:26:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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;
                

[11/08/2026 16:26: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;
                

11/08/2026 16:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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;
                

11/08/2026 16:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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;
                

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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;
                

11/08/2026 16:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:19 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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;
                

11/08/2026 16:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:20 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:26: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;
                

11/08/2026 16:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13490
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 15:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3147
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:26:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                
=========================================
FECHA: 11/08/2026 16:38:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ehddue_jdTcZqme9eJ7hiRlp_jvwV1TrNyQOoqYjofsHjnRX+3Z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3147",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "3666",
    "contadorColor": "21464",
    "contadorScanner": "0",
    "detalle": "mantencion preventiva y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13490",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC2APYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMCAgcFBAcFBQkAAAABAAIDBAURBiESMRMiQVFhgZEUMnGhsRUjwdEzQlJisuHwJENyc6IWVZPC8SY0NUVUY3SS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADMRAAIBAgMECAYCAwEAAAAAAAABAgMREiExBBNBUSIyYXGBkbHRFCMzocHwQlIFJOFi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBF5c5rGF73BrWjJJOAAs1VairLpUvoNPRcZbs+peOq3xH8+fcrRi2ZVKsaeuvLiXtfc6O2xdJWVDIh2And3wHMqhfq6orXGOzWqaoO3XkGAPIfmu1u0lDFP7XdJnV9Ud+uSWg+fPz9FoGMZGwMjaGNaMBrRgBW6K7TK1epq8K82ZowaxqdzVUlKDzbgEj5H480+xdTO3dfgD3Nbt9Fp0UY3yJ+Gi9ZN+LMuaDVlCWywXGKtwetFIAM+v5hdaLVjRVCivFMaCo\/aceofiTy+fxWjUS42ykutN0FXFxt5tIOC094KnEn1kQ6M4Z05eDzXuSmuDmhzSCCMgjtX1ZnTVVPQ1s+n613E+DLoHu242dw8tx59y0yrKNnY1pVN5G4REVTUIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALhV1lPQUz6iplEcbBuT9B3lfK2tp7fSvqamQMjYNz3+A8VmaaiqtWVjK+4NMVtjP3MGd3+J\/P0V4xvm9DCrVcXhgryf7dnlv2hrKXJL6K1MJAwetKfx+g8VqKKiprfTNp6WIRxt7B2nvPeV2YxkbAyNoY1owGtGAF6SUr5LQUqKh0pO8nxCIiobhERAEREBmL5mk1hZ6tu3TZhPjvj\/nWnWY1P19QWGNu7mz8RHcOJm\/yK06vLqo5qOVSou38IIiKh0hERAEREAREQBERAEREAREQBERAEREAXOaaOnhfNM8MjYMuc47ALoslc55tT3V1mo3htHAQ6omG\/ER2Dz9cZ7FaMbsxrVd2ss29EeGRzawurZ3h7LRTO6rTt0pH9eQ8Vr2tDWhrQAAMADsXOnp4qSnZTwMDI4xhrQuqSlfuFKlgTbzb1CIiqbBERAEREARFGuFZHb6CarlPViYT8T2DzOAmpDaSuyhc03HXwIPFFb4d8cuIj65d8lp1kdL1NDQ0c9wr6uGKqrJXOcHvHEAD3ZzzyfRWMusbJEcCpdJ\/gjd+IWs4tuyWhx0KsIwcptJyd9f3gXqLPf7bWb9ub\/hldI9Z2N561S9m360TvwBVcEuRt8TR\/svMvUVfBfrTUuDYrhAXHkC\/hJ9VOa5r2hzHBzTyIOQVVprU1jOMuq7npERQWCIiAIiIAiIgCIiAIiIAiKBebrFaLdJVSEF2MRs\/bd2BSld2RWUlFOT0KzUt0nMjLJbgXVlUN3A44G9vyB+AVnZrVDZ7eymjAL8Zkf2vd2n8lW6YtUsYku9cA6rrDxgEbxtP0z9MLQq8nboo56MXJ72er07EERFmdQREQBEUS4XOjtcHTVkwjafdHMu+A7USuRKSirslqsuWobZastqKgGUD9FH1nfy88Kk9svmpyRQA2+gzgyu2c\/wA\/y9Va23S9strhIIjPMN+lm6xz3gcgtMKj1jm3tSp9JZc3+EQPtjUF2JFst\/ssJwWzVA5jv329AVSR0Nyvt7db6m5mpjhw6Z7HHgbjmGjGM9nJXV4vM11qPseyO43POJ6hp2Y3twfqQru02mns9E2mgGTze8jd57yr4sK0Obdb6dnJtLV8O5Ig0+j7JABmmMp75Hk\/IbKwitNtg\/RUFMw94ibn6KYiycpPVndGjTj1Yo4exUv\/AKaH\/hheJbZQTt4ZaKneP3omnHyUpFF2XwxfAp59K2ScHNC1hPbG4tx6HCgO0YKdzn2u6VVI47gcWRnu2xt6rTorKclxMpbNSl\/H8GWFbqWyyEVlMLlSgZ6WL3gPL8R5q4tF8o71CX07iJGjrxO95v5jxVis7fbFIJTd7S8wVkQLnhm3SjmfP6qbqWTyM3GpRzi8S5PXwZokUGz3KO7WyKrYMFww9uc8LhzCKjVnY6YyUkpLRk5EVJfb8+3vZRUMPtFdN7jBuG+JGcok27IipUjTjikXMkjImF8j2saOZccAKtm1JZoDh9xhO2eoS\/8AhyqyHSc1cRPfK+aokzxCFj+o3w\/6YVnT6as1MMMt8LvGQcf8WVe0FqzDFXlnGKXf\/wAIrtZ2RucVD3Y7onb+oXxutbI7OZpG\/GI\/grVttoGY4KGnbjliJox8l6db6J+OKjgdjviafwUXhyJw7R\/ZeT9yuZq6xP5VwBx2xvH4KRHqCzyHDblTj\/E8N+q9vslqf71tpeeciFo\/BR5NL2SQYdb4x\/hc5v0KdDtH+z\/5+5YMrKWUZjqYngAnqvB2WXog\/VV+NdIH\/ZtG77lp24njB3Hz9AoF9sNvZdaW2WuJ7amY8T+sXNjZ5795\/wCqtGaNqaUYob5U04G\/CAcE+TgtEoxV76nNKdWrLC43UXnZ6+djUosVdhqSx0zJ3XcTtfK1gaGZcXc+0eCnB+s42tf0dJNt7pwD9Qqbvjc3W1ZuLg7o06LMfamrIv01lgf\/AJbv\/wBFPtzUn+4P9RUYGW+JhxT8madFmPtzUn+4P9RUOv1beqPhimtbIJZR93xEk+ilU5MrLa6cVd38mXl71DT2hohaOnrH7RwN3OezPd+Kg2vTslTP9qX09PVP3bC73Yx2Aj8OQVRbbZqWnqZKttvhdUSnJnqXAub8Bxbeis3WTUlwPDcLwyGLHuwA5PxAA+pV7KKsmc6nOrLFKDfJaLxuXNwvVutMeamdrTjqxt3cfJUT6m8apAipoX0FucetM73pB4fy27yrKh0naqLrGJ1S\/PFxTni3+HJXQAAwBgBUvGOh07urU67suS\/L9iHa7VSWilEFLHj9t59557yVNRFRu+bOmMVFWWgREUEhERAEREAREQGZ04RT6hvFDEA2Frw9re4+CL5psip1FeayPPRcYYCRjO5\/L5hFep1jm2X6fi\/U06zFg\/t+p7vXybmF3Qx57Bkjbu90eq06zGjtp7sw7vFTue\/c\/wA0j1WKudWmu\/0NOiIqHSZ69z6g4qr2JsVPSQRl3THd78MyQB8cjyVhYa99zs0FXLgSP4g4DvDiPwUurjEtHPGeT43NPmFSaIkL9PNaf1JXNHyP4rTJwOVJwrpXbTT\/AAaFQbvc47TbZauTctGGN\/ad2BTliLlcILzdzLUv4bTbju7hP3rtur4k7+QPeohG7LbRV3cctXp7+Ba6WtkrGy3euGautJdhzcFjc\/jt5YWiWTOs6isqvZrVbDM8jLekfgkd+O7zXG43jVNDR+11UVLSsJDQBgkk9wye7Ku4Sk8zCG0UqcLRu0tXY7Vjzf8AV8VE3rUlvy6Xc4Lu354HkVrFh7NZdS01N0tHU09P7SBI4ybvO2wOWnvVj7JrNn\/mNHJn90bf6Akop5JoijVlFOUoO7z9uJp0WYDdZxnHSUcvbnb05BPtLVsH6a0QTDvjduf9R+ipg7Ub\/ErjF+ReXS4RWu3y1c3usGwHNxPIKk03apqmU3y6\/eVU28LXD9G3sOOzw7h8Vn629VN9rKaapoJH0dK7L44QXBx7cnlvsPgtDBrm1Ow2WKogI2ILAQPQ\/gtMEoxsjmW0UqtTFJ2S0vxfP2NKiq4NSWao9y4wj\/MPB\/FhWMU0UzOOKRkje9jgQsWmtTvjOMuq7ntERQXCIqy932mstNxynjmcPu4gd3H8B4qUm3ZFZzjCOKTyLLIzjO6+rJ6epK68V327cpXtDTiCJuzSPgez6kZWsUyjhdilKo6kcVrLgERFU1CIiAKHdq5tttc9U4gFjDwZIGXdg38VMWUvUhvuoILHET0EJ6SqIJ9PmB8SrQV2Y16jhDLV5LvJ2jqL2SwRPczhkqCZHZG+D7vyAPmivGtDWhrQAAMADsRRJ3dy1OCpwUVwPqy9hPsWrLvQvGOmd0zO7Gc\/R\/yWoWV1GTa9R2275xGT0Upwdh2n0cfRXhndczHaOjhqcn9nkapERZnUFmNA\/wDgc3\/yXfwtWnWR0zWwWeG7UdS7gbRzGQnmXD3dh5D1Wkc4tHLVajWg3pmT9VXWWmpm26jaX1lZ1WtAOQ05BI8VWXqyOtOnKToY2TeyzdLOcHrE8zz5bAfBStNUs9yr5dQ1zOF8nVgZg9VuMZHlt6r1ri4imtTaNjiJKl24B\/UG5+ePmrxykoo5qlp0p1p8su7\/AKyPo8vuF1uN2kIy89G0doBOcY7gAB5L7X\/9o9WR0A61HQdabuc7tHrhvqqW1XO5aftoqGsa+krGvMeT7rx1c\/Ll2hanSFvbSWZtQXB81WekkeHcXfgZ\/rclTPoty8jOg97GNLxfqvMvkRFznrhU2qbmLbZZXNdiab7uPlzPM+mVcrLXBrLrrelo3guioo+keOYzzH\/KrwWeZz7RJqFo6vLzLewW1tqs8NPj7wjjkOMZcefpy8lNmpaepGJ4I5RjGHsDvquqKrbbuaxhGMVFaFTPpey1GS+3xtP\/ALZLPoQoEmiqaN\/SW+vqqN+ObXZ\/I\/NaVFZTkuJnLZ6UtYoy4ptX28fc1NPcGDk2T3vnj69i+jV81G8Mu9pnpsnHG0Zb8+fkVp1Gr6uloqOSesc0QtG\/EM58MdqnEnqijoygrxm135r98Sqq9XWyO2Pqqadk0oA4ITkOJPePD+uYVDY7PU6iuDrrdSXQg5DT\/eHsA\/dH8u9fbZp1uoauW4yxex0LyRFFE0NJHLbsCsW2W\/2UNFprm1UDc\/cT7Y8Bvj0I+q06MbqLzOP5tZqdSN4rlx7bGpa0NaGtAAAwAOxfVmqTWEbKg0t4pZKCYHmQS38x8x4rQU9TDVwtmp5WSxu5OYchYuLWp6NOtCp1WdURFU1CIvEsrIYnyyODWMaXOcewDmUBCvd2is1ufUvw6TlHGTjjd\/W6gaUtUtFSSVtXvV1p6R5PMA7gHxyST\/JQbfE\/VF8dc6hpFDSO4adhbs89\/wBCfILWrSXRWE5KfzZ716LT3CIizOsKs1BbjdLNPTM\/SY44\/wDEN8efLzVmilOzuVnFTi4viVWm7iLjZYXknpYh0UoPPiHafjz81arLSPGm9U9I48NDc\/e7mP7\/AFPz8FqVaazuuJlQm3HDLVZP97QsBqelNw1HKy3U0k74ogakR8iR8O3GPP4LV6gu7LNbHz85X9SIfvY5\/ALlpizm1W7imJNTUkSSk8xts3yyfMlWg8KxGO0RVeSo+L7OXmcbZqm0SxMpy\/2J0Y4RFN1Q0DbGeXcqmpD75drrWDhfTUNLJFCRuC4tI27+05+HgVc6pp7e20VNXU0sckgaAwnqku5N3G5xn0yqq26JpKm1U89RLURVEjOJwaQAM8hjHcrRwpYtDGqq0pKk7O2fLuK7TlFJfZ6SCpjzQ29rsjsc5ziceeR5N8VZz2+s0nO+stjxNROBMsErwC3Hd3\/Eea7N0NTsBYy41TYyclgIGV1j0Na2u4pZamY9vE8AH0GVLnFvXIpDZ6sYpYelzv8AuR1g1pZpacSSTPhfyMboyT8shR361jmPDbbZVVb\/AIY+mV3q9F2mek6KnjNNIPdlBLjnxBO6hNrb9pmMR1tMK+jZsJozu0eO2fX1UJQehrKe0Q+o7Lmlf98jv7Vq2sb0sNHT0jWZcI5Dl0nc3fl8lC0jWe13+4VFXwMq5QAGgYH7wGfgNvyWgt2obZdOFsFQGyO\/upOq74ePksdR2yapgrrhRFwq6KqL28PNzdyR\/XipWaaasZ1HhlCcJYtX9j9ERQbPcmXa2xVbMAuGHtH6rhzCnLBqzsenGSklJaBEVZeL7SWeHMp6SZ3uQsPWd+QRJt2QnOMFik7IlV9wprbSuqaqQMY0cu1x7gO0rFQS1OtL41s+Y6KDrGNrvdH4kntXi7w1tRSi6XkkTS9SjpGg4Ge0jsxzxzJxlazTlo+xrW2B+DO88cpHf3eQ\/FbZQjfiec3Paaqi1aKz7+V\/YsoomQxMijaGsY0Na0dgHIL2iLA9M41NJT1kZjqYI5mEYw9oKzlXp2ttMhrNPVD2YBL6Z7uIOHcM8\/P1WpRWjJoyqUYVNdefEo7RqaC4S+yVUZo60HBhfnc+GR8irxVV7sNNeYMOxFUN3jmaNx8e8KDZLlX0lf8AYt5PFNjME2c9IPj28uZ3Vmk1eJlGpOnJQqZ30fuaNZO61c2ort9iUMnDSM3qZmb5x2eu3x+Ckahu8s8n2JasyVk3Vkc3lG3t37D9PirWzWqGz29lNGAX4zI\/te7tP5IuirvUibdaW7j1Vq\/x7kmkpYqKljpoG8McTeFoXZEWZ1JJKyCIiEhERAQLza47vbZKR+A49aNx\/VcOR\/rvVVYLy6GQ2W6ZiqqcEMe87SNHj8PULSLIaxjhuVxorbTx8Ve454xyaw52Ppnwx4rSGfRZx7Ren82OulufYeqAu1RqA3CRhNuoyWwNeB1n4HMfP0WtWSst7jsbBaLtT+xvjOGytb1H+J\/P6LUPqYWU7qh0rOhaC4vzsAOaVE79hOyyjhbv0uJmtSON2vlBY2NJYHdNOfDf8M+oWpa0NaGtAAAwAOxZnSkclZWV97nDgal\/BFxDcM\/rhHktOk8rR5E7OsV6r\/l6cAirJ9R2imqnU01axsrMcQ4XYHnjHau0F5tlT+hr6dx7ukAPpzVML5Gyq027KS8yai+AgjIOQV9UGhT3PTFsubSXQiCXG0kIDT5jkVlrXJeLRdq6ktkYqmxSfeRv5uGcB3f2jkv0FZO7Odp\/VEN1H\/da0dHPn9U7b\/IHyK2hJu8WeftNGMWqiyzzaKWnv5tF6kmgppYIZDmejk24XeG31AWiOurTwAtZUOcf1eADHxOcK6q7fRXGLgqqeOZpGxI38jzHkqCTR8tFP7RZbg+neDngl3ae7+iCpxQlqV3W00eo7o+PvGorvltrtxpYXYxPNscd4zt6AqdaNL01vm9rqJH1dYd3SSHIB7wPxKgjUN6tTg28WsviyczQd3f3fT5KXNqy2S2qonpqkCZsbiyN\/VdxdnPnzHJQ1LRLImEqTeKpK8lzy8kQ6Rrr\/q2WrkANJbjwxDbd3Z88nw2WrVFo6k9k09CTs6dxlPnsPkAr1Um87cjp2aLUMT1lmwiIqHQEREAWL1vcqYT00MDj7bTu4+kY7HRju+PIqfd9SPkqDbLNiWqOQ+bbgiHac8tu\/kFn6e1R3C4x2+jlE4PXq60NLhxDcgE9n1J8FvTjZ4pHmbVWxrd08\/3h+5Gu07Z4bXQNkB6SoqAHyyu5nO+PgrdeWtaxgY0Ya0YA7gvSxbu7s9CEFCKigiIoLhERAERfHODWlziAAMknsQEK8XOK0W6SqkIyBiNp\/WfjYKr0ta5WiW71wzV1hLgHNwY25PL4\/TChwj\/a6+GZ7T9l0Z4WtJ2kd3\/12Y71rlo+ircTkh86e8fVWnv7EetoKS4Q9DVwMmZ2cQ3HwPMeSpBoi2iQ4mqBC7nFxjH0WjRVUpLRm06NObvJXOdPTxUsDYIGBkbBhrR2LoiKpqlbJFJdNKW26TPneJIp383sdzPiCs\/WaBqowXUdXHMM+68cB9dx9Fu0WkaklxOWpslGpm1mfl\/2dWWp39tp6+maOcsBBaDnw2+fYp9NX1TsCk1VhwIwKxrm\/M8Q+a\/QVAq7Ha63PtFDC4nm4N4Xeo3V96nqjm+BcOpL1Xp7FHDV6tZGJIm0NxZ+2xzd+3sIXG5XW5VdDJS3PT0\/RPweOIk8GO3kfqFMm0TRh\/SUNXUUj8Yy12R+fzXj7M1VQn+y3WOrYNuGYbn1B+qJx4W9CHCslaV7eD9bMqbDq6a3EUd0D3wsHC13D148dh7x81qYdTWWcAtuETc9kmWY9VTz3a8MiMV406KiLGHGMZA8duIfRZ2tZYagn2f2q3zA9aOZnGz4bHIVsCk728jNV6lGOFSv3ppn6XFNFO3iilZIO9jgVlda22309sFXHTMjqHShgcwYzkEnIG3YscYOhdxxVEcmCQ10cnCQe\/DgD8l1qairnpxE+erkjYeLopSXNZzAOfPuCmNLC7pmdXbVVpuMoZmvi09e7axr7XdiW4B6CfOOXLtHyC9jUl1tnVvNpeGAbzw7tP1HLxH5UlNqzUQYHcAqGnk50Gx\/+uFaw6vugHFPYpXNxnLA4ee4KhxlxSZrCtSX05OPhdfkuqHUdpuGBDWMa856knUPzVovzO83ekrQWmxR0k5Hvh5B+OABnzUamuVfRUTjT3YsB26EOdxd222Bt49ijc30LL\/IKLtLPtWX2Z+oz1ENNGZJ5WRMAyXPdgLF3zVVRcZHW+zMkcx2xkY0l8g7QBzA+aoI2SzVEdZdG1U9M48T3sPESPieS3lnuenuAR299PTuI3YQGOOO8nn6lMChnqFXltPRTwr7soLRpO41FMGVknsVM4gvjYB0knx7vP0WwoLdSWynEFJCI29p7XHvJ7VKRZSm5anbR2anS015hERUOgIiIAiIgCy+oq6a51zNO0Dm8UozPLn3AN8fLf4gKx1Fe22iixFh9XL1YY8Z378f1uvGm7MbXSOmqDxVlT15nHm3t4f67VpHorEzlqt1JbqPj3cvEsbfQw22hipIGgNjaATjHEe0nxKkoiz1OlJJWQREQkIiIAiIgCIiAIiIAucsMU7eGWJkg7ntBXREGpVz6bs1R79uhH+WOD+HCgTaGtEg6hqIj+68H6grRorKclxMZbPSlrFGRl0hcKMZtN3lYAPce8t7e8fkuTabW0DwGziQcyS5jh8N1s0Vt4+OZk9jh\/FtdzMTcqHWFZGWTCORmPdiLBj6FQKS3TUELmVml56xztuMSOyPhwg4X6KilVXa1jOWxRcsWJ37bP1R+dNpmsqo54tK3KMxvDw1sr8HHZuzPzUmveLgCZNHVUbz\/eQ8TD\/Bg+a3iKd72D4KyaxfZex+eWyXUlBUtbSUlc2DOBFPG5zQPMD5YX6EM435r6ipOWLgb0KG5TWJsIiKh0BERAEREBTtsRfqF12qqgzcAxBHw7MGO31OFcIiltszhCMb24sIiKDQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "MUNICIPALIDAD MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "losorio@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:37",
    "ubicacionGPS": "LatLng(lat: -23.1027283, lng: -70.4447468)",
    "horaLlegada": "16:24",
    "horaDespacho": "16:01",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/08/2026 16:38:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:38:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[11/08/2026 16:38:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'TO3147', 1, 21773342, 3666, NOW(), 
				'16:01', '16:24', '16:37', 3, 'mantencion preventiva y limpieza', -1, 
				'', '','1','21464',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786480692.png', '', null, 'COMPLETADO','LatLng(lat: -23.1027283, lng: -70.4447468)' )
				
[11/08/2026 16:38:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201447

11/08/2026 16:38:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201447'                    
				WHERE idllamado = 13490			
				TO ENVIO: micorreo@miempresa.cl, losorio@gmail.com, donkhapone@outlook.com


11/08/2026 16:38:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13490			
				
11/08/2026 16:38:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

11/08/2026 16:38:12 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-ehddue_jdTcZqme9eJ7hiRlp_jvwV1TrNyQOoqYjofsHjnRX+3Z
11/08/2026 16:38:12 Detectado modo MULTIPART/FORM-DATA
11/08/2026 16:38:12 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786480692.png
11/08/2026 16:38:12 Envío correo: OK
------------------

11/08/2026 16:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:38: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;
                

11/08/2026 16:38:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:38: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;
                

11/08/2026 16:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:38: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;
                

11/08/2026 16:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:15 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

[11/08/2026 16:38: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;
                

11/08/2026 16:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:38:15 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:38: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;
                

11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:16 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:38: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/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:16 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

[11/08/2026 16:38: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/08/2026 16:38:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13490
            GROUP BY l.idllamado;
            

11/08/2026 16:38:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:38:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13490
                and cs.estado_control = 1;
                

11/08/2026 16:40:11 - INPUT: {"rutTecnico":"19969062"}[11/08/2026 16:40: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;
                

11/08/2026 16:40:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)
[11/08/2026 16:40: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;
				

11/08/2026 16:40:11 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13759
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13759
                and cs.estado_control = 1;
                

11/08/2026 16:40:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

11/08/2026 16:40:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

11/08/2026 16:40:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:14 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

11/08/2026 16:40:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13759
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13759
                and cs.estado_control = 1;
                

11/08/2026 16:40:17 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:40:17 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40: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/08/2026 16:40:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

11/08/2026 16:40: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13759
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13759
                and cs.estado_control = 1;
                

11/08/2026 16:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13759
                and cs.estado_control = 1;
                

11/08/2026 16:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13759
                and cs.estado_control = 1;
                

11/08/2026 16:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:40:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:18 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:40:23 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:40:23 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40: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/08/2026 16:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

11/08/2026 16:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

11/08/2026 16:40:25 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40:25 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:40:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

[11/08/2026 16:40: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/08/2026 16:40:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:40:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16:40:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16:40:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

11/08/2026 16:40:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13753
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13751
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:40:33 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:33 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:40:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:40:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16: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 = 13751
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:40:38 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:40:38 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16:40: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/08/2026 16:40:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:40:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:40:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/08/2026 16:40:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

11/08/2026 16:40:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:40:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:40:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

11/08/2026 16:40:39 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:40:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:39 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 16:40: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/08/2026 16:40:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:40:42 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:40: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;
                

11/08/2026 16:40:42 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:40:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 16:40: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;
                

11/08/2026 16:40:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:41:46 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:41:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:41:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:42:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:42:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:42:31 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:42: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/08/2026 16:42:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:42:31 - INPUT: {"rutTecnico":"19969062"}
11/08/2026 16:42:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[11/08/2026 16:42: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/08/2026 16:42:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:42:32 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:42: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/08/2026 16:42:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:42:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:42:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:42:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:42:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

11/08/2026 16:42:34 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:42: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/08/2026 16:42:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:42:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:42:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

11/08/2026 16:42:36 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:42: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/08/2026 16:42:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:42:37 - INPUT: {"rutTecnico":"19969062"}
[11/08/2026 16:42: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/08/2026 16:42:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:38 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

[11/08/2026 16:58: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/08/2026 16:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:39 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

[11/08/2026 16:58: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/08/2026 16:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:39 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:39 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

[11/08/2026 16:58: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/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:40 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:48 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:58:48 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

[11/08/2026 16:58: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/08/2026 16:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:48 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

[11/08/2026 16:58: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/08/2026 16:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:48 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

[11/08/2026 16:58: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/08/2026 16:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:49 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:49 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16:58:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/08/2026 16:58: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/08/2026 16:58:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13637
                and cs.estado_control = 1;
                

11/08/2026 16:58:50 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[11/08/2026 16:58: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/08/2026 16:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:50 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:50 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:50 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:51 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:51 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:51 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:55 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:55 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:55 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:58:55 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58: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/08/2026 16:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:55 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:55 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:56 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

[11/08/2026 16:58: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/08/2026 16:58:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:57 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:58 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:58: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/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16: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;
                

11/08/2026 16:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:58:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16: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;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:59 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16: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;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16:58:59 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

[11/08/2026 16: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;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13638
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:00 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[11/08/2026 16:59: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/08/2026 16:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:00 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:01 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:01 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:01 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[11/08/2026 16:59:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/08/2026 16:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:05 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:05 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:05 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:05 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[11/08/2026 16:59: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/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:05 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:59:05 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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/08/2026 16:59: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/08/2026 16:59:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:06 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:12 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16:59:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[11/08/2026 16:59: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;
                

11/08/2026 16:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:12 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[11/08/2026 16:59: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;
                

11/08/2026 16:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16:59:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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;
                

11/08/2026 16:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:12 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[11/08/2026 16:59: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;
                

11/08/2026 16:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:12 - INPUT: {"rutTecnico":"21773342"}
[11/08/2026 16:59: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;
                

11/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

11/08/2026 16:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16:59:13 - INPUT: {"rutTecnico":"21773342"}
11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

[11/08/2026 16:59: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;
                

11/08/2026 16:59:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

11/08/2026 16: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 09:28:52 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 09:28:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 09:28:52 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

)
[12/08/2026 09:28:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 09:28:56 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:28: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;
                

12/08/2026 09:28:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:29:11 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:29: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;
                

12/08/2026 09:29:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:29:23 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:29:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 09:29:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 09:29:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:29: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;
                

12/08/2026 09:29:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:29:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:29: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;
                

12/08/2026 09:29:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:29:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 09:29:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:29:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 09:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:30:08 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:30: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;
                

12/08/2026 09:30:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:30: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:30:17 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:30:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 09:30:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:42:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:42:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 09:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:42:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:42: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;
                

12/08/2026 09:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:44:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:44:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:44:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:44:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 09:44:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13701
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:44:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:44:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:44:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:44:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:47:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:48:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 09:49:06
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-O6pHhw6+TynE67rudUx0060UYJvASDVIaGcjHgwYSJ+v_cZ8zQf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "RIS1676",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1369880",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13701",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABEEAABAwMBBAcEBgcGBwAAAAABAAIDBAURBhIhMUETIlFhcYGRFDKhsRUjQsHR8AckUnTC0vElN2JykuEWMzU2Q6Li\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAMHBAEFAAAAAAAAAAECAxESITFBBCJRI2FxgZGhwRMyseHRFDNCcvD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQHlUVEVJTvqJ3hkcYy5xWcF4vt7c76GpY6emyW+0z4OSDxH9Cvl7fJe9QQWOMkU8YEtSWu4jjg48vMrTRRRwQshiYGRsAa1o4AKzKK7zLeVaTSdorpuzNmyalccm\/AE78BpwEfT6uoGl8VXT17cg7Dhh3f2bvPwWnRcxvod\/po7NrzZn6DVcb6oUVzpn0FSdwD\/dJ8eS0CgXe0094onU8zQHYzHJjew933qq01c6iKeSx3MkVdP8A8txOdtvjz\/DwXWk1dHIznTmoVHdPR\/DNIiIqzUEREAREQBERAEREAREQBERAEREAREQBERAZjTZM2pL7M49ZkoYPDLh\/CFp1mNLf9c1B+8\/xPWnU6n3Gbhf7V+9\/lhERQNIWc1bQPbFFeaQYqqJwcSPtNzz8PllaNcvY2SN0b2hzXAhwPMKUXhdyurTVSDiyPbK+O5W6Gsj4SNyR+yeY9UVDpn+zLvcLI5zi1h6WInhj+hb6FEkrMjQm5wTeu\/iahERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIqHU9+ms0cDKaIPmlJdkjIDW4J9fxXYpydkV1KkacXKWhFtJFFrW6UZcAKgCVveeP8R9FqFi6+4M+kbNqJvUhlaYpct4YJB597vRbRTqLRlHDSXNFbO\/k80ERFWawiIgMxX\/AKprygmbuFTCWPxzO8fy+iJfP+8LN5\/NFOeiM1DKU13\/AAjTovOombTU0s7\/AHYmF7vADKq9MV9bcrV7XWlhc+Qhmy3HVG755UbZXLnNKahuy4REXCZCbdqN91fbBL+ssaHFuyezPHGOGPVTVh6Kp2v0jynb2g974yfBp3f+uFr7jP7LbamoBwYonOHiAVOUbNIzUa2OMpPZs9o5Y5W7UcjXjOMtOV2qDRdOIdPRykdad7nuPM78fcr9RkrOxbSm5wUnuERFwsCIiAIiIAiIgCy9bGK\/XdPTyjaigpy4tLcg5B\/Eei0skscQzJI1g7XHCzVlLa\/WN0r2EPjiaImuG8Z3Dd\/pPDtVkMrsy8RZuEOr\/GZX2iifctMXK1bzLTzF0Qd9k9nmQR5rQ6XuJuVjhe9+1LH9XJ25HD1GCq\/TJEd+vsGf\/PtAY\/xO\/ELziadN6pLD1aC4+6cYax\/Ifnke5TlndeZmo9moT2zi\/XI1aIioPTCIvhIAyTgBAZmsIqtf0cX2aaAucO\/BP3hF801m4X66XcD6tzuhjcTnI3eXANRTnqkZuGzUp9W\/4JmsKn2fTk4yNqYtjGe85PwBU+zU3sdnpKfmyJu14kZPxKpdVZrLpabYAS2SbpH54YG7h4bS06PKKQhzV5S6WXyERRblM2ntlVM89VkTie\/coI0N2Vz89tUjn6sgq8ktmrHAOHMk\/wD0FstXTGHTdVji\/ZZw7XDPwysoyJ0FksdQBh3tjnDd\/iH8q0euHhun8Hi6ZoHxP3LTLOcTyKN40Knhf1RaWSEwWOijIwRA0kdhIyVOXlSsMdLCx3FrGg+i9VnebPWgrRSCIi4SCKtsl5ivdI+oiidEGSFha4gngDn4qyXWmnZkYyU44o6BERcJBUF6vs8dW21WiMTV7\/eOMiId\/eryVzmRPcwAuDSQCcZKxFjvNBaHVdRcGVDq+aR211ATsg8Adw45zw4dyshG+Zk4mphtG9r7\/wDbnd1sENttM1wu1ZLVVj9zQH4aXnl2kDjy3BeP0XLp0WipjlkZV1EgbNHtAAg43Y7s4KtKOlq9R3Nlyr2OioYTtU0DhjaOTgn0z6cl8nc6\/wCr4GQYfSWs7T5Ad22d+7zAHkVapPR+ZjdKL5oq17Jddc2d28CH9IFxZjAkgDh3nqf7q1vtpZeLY+mJ2ZB1ondjh+cKr1LSz0dxpL9SMfI6AhszG82b\/uJHopA1nZDHte0PB\/Z6J2flhVtN2lE0RlThjpVXa7foz7pe7ur6N1JVdWtpOpI13Egbs\/ce\/wAVZ19ypLZAZquYRtxuHN3gOaxdfW1NddDeLDQ1UZiYRNK5mA\/Hdz3cvDcrLT1roruxt1rap1wqcjabJwiPZj8juXZQX3MjS4ib7OOb67W6959OpbtNH9IU1sP0fG7fte\/IDu3ee\/OMcuS+1+pfpaA0Fkikkmn6jpHMIDAQfznktSAAMAYAXEcMUOeiiYzPHZaBlRxR6F7o1bWx5PXL8dCNaLay1W2KkYdrYGXO7SeKKaig3d3NEYqKUVojMV394lt\/dj8pFp1mK7+8S2\/ux+Ui06nPbwKOH1n\/ALfCCotZVPs+nJmg4Mzmxjf35PwBV6svqNwrtRWm17LXAP6aQb84zw9GlcprmO8S7Umlq8vXIj6lo\/ZNJW4BuH0zo85HPZOfDevfWjxUWygiGPr6hpBzw6p\/FWGrIul01Vjm0NcPJwKrqqgqbzpi1T0Ra+anaxwYdweQMHfuxvCsi9G+plqwac4RWqXs7GmmnhpojLPKyKNvFzzgBUE2r2yPLbXbKq4BuNp7GkN4Z5AnnzAXEViuV3qmVV\/maI2e7SRHqjdzIPj2+K0cUMUEYjhjZGwcGsaAB5KHLHvNN6tTTlXv+ihp9Ws9ojguNvqaB8nAyNOzxxzAOO\/CvZZWRQPmccsY0uJHYBlV2pRSmw1ftRYB0Z6Mu47eMtA78hUU90mboyio9762tZ0MbQRnZzjPmMDzXcKlZordWVJuM3fK\/wCiDom4GiuPsso2YqwdRx\/aGcfePRfoCzlbpcSWOkpqeTZq6IbUcg3ZdxPhk713a9U072+zXZwoq2M7L2yDZa7vzwC7Pn5okeHboJU6j8PlGgRRG3W3OY57a+lLW8XCZuB8VTXrWNHQxOjoZGVNQRuLTlje8nn4BVqLbsjVOtThHFJnWrLm+OmFrotp9bV7thnvBnP1xjwyq2zV8VgdLbb3BsdC76qo6MvaQeQOM44kefBQbPfKWCtkuVY2orbjLuAYwbLB3fLgrae83S5s2I9MdI3l7U3I7+IH5Cvw2WGx5v1VUl9VSz2Vr5d9j0uGp\/pDFvsG3NUTbjLslojHM79\/nyVvY7RFZre2nYQ+Qnakfj3nfgqSCi1S4Yhjt9tadxEbGjd5Ar1GmbvUb6vUM+eOzHnGfUfJQaja1y6EqjljcW36JerNMSAMk4AVdNHY43l87Le1+N5eGA481VDQ1G85qK6rl7esBn4FSI9FWVnvRSyf5pT92FG0VuXt1pf4Lzf6J5vtnjGPpGlwB9mQH5LK3Kvt9suX0pY62MvccT0wB2XjtG7C0bdKWNmMUDN3a9x+ZXvHYbREQW26nyOGYwfmuqUI9SFSnXqKzsvXI9bZcI7pb4qyJjmMkBwHcdxwfiCpa5jjZEwRxsaxjeDWjAC6Vb1yNkbpK+oREXDpmLh1f0g2x5O407h54f8AitOs3rLpIIKK4Rg5pagOJAzjP9FoIZmVEEc8ZyyRoc09oIyFOWcUzNR5ak499\/Vfo7c4NaXOIAAySeSy+nf7Wv8AX3s56IHoYQezdv8AQD1KmapuhpKJtDT7Rq636uMN4gEgE\/HA7\/BWNpt7LXbIaNmCWN6zh9px4n1XVlG\/U5LtKyjtHN+Ox1c4PabXVQc5IXNG\/nhUml6yZukC+GIzSU5e1rP2t+cfFaVY\/SFxo7ZYJn1tQyEe1OwHcT1W8BxKRzizlVqNaLva6fwQzrq6QSujqaKn2m7sAObj4lTI9Y3SqpyaSxySP5PbtPaPIDs71Kk1e6qeYrPbZ6t+cbbhstB5fk4XJotV3LJnrYqCJ32Yh1h6fzKy0d1YyKVTSFRy8F8szld9PXGqbUXCBzGjc1tQOijH+rA7\/JWFBX2q21Rr7lXG413BvQsJEfgTgHuxwVvBomg2xJW1FRWSZ3l78A\/f8VcUlot1Dg01FDG4HIcG5d6nekqkbWO0+EqqWJ++ZRf8TXevwLXY5C0kgSTZ2T8gPVR6nTt+vrmOulTSwtaTgNjDnNHkOHdtLYoq8dvtRqfDY12km\/Zexl6bQdujH1888zu4ho\/PmrSm03Z6UAR0ETiDnMg2z8VaIuOcnqyyHD0YaRRxHDFC3ZijZG3sa0ALtEUC8IiIAiIgCIiAIiIAiIgPKpp46ullp5RlkrS13msvQV1ZpdslBcYJZ4A4+zSxNGDkjd3bzz4d61qgXO9UFpjLqqcB+MiNu97vAfipxe1rmetBffis1uVNit9TX3F9+ujA2RwxBEW+4OR3\/niVLumqbdbCYw\/2ifh0UW\/B7zwHzVaxt81PITIX2y3HcWj35B8\/PcPHer222WgtTMUkAa7GDI7e4+alK1+b0KaWNxtTyXV7+RSdJqi9ub0cYtVM7ftE9cj5\/AKTQ6Mt1OTLWF9dMTtF8hIBPhnf55WhRRc3osi1cNC958z7\/wCNDiKGKBgjhjZGwcGsaAF2iKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM9dKi\/V1bJQW2n9lgbgOqpN2f8AL\/tnyXdr0nRUMntFU41tSd5fKMgHtA+8oim5NKyM0aMZSxyzffsXyIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CARLA UBEDA FLORES",
    "correoContacto": "carlotaubeda75@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"RIS-I90\",\"id_control\":\"29588\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"RIS-I91\",\"id_control\":\"29588\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "09:49",
    "ubicacionGPS": "LatLng(lat: -22.1086337, lng: -70.2099171)",
    "horaLlegada": "09:41",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 09:49:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 09:49:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 09:49:06] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'RIS1676', 1, 21773342, 1369880, NOW(), 
				'08:00', '09:41', '09:49', 10, 'insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786542546.png', '', null, 'COMPLETADO','LatLng(lat: -22.1086337, lng: -70.2099171)' )
				
[12/08/2026 09:49:06] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201448
[12/08/2026 09:49:06] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201448', 'RIS-I90', 2)
				
[12/08/2026 09:49:06] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29588 and
				    IDproducto = 'RIS-I90'
				

12/08/2026 09:49:06 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'RIS-I90';
                [12/08/2026 09:49:06] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201448', 'RIS-I91', 2)
				
[12/08/2026 09:49:06] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29588 and
				    IDproducto = 'RIS-I91'
				

12/08/2026 09:49:06 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'RIS-I91';
                
12/08/2026 09:49:06 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201448'                    
				WHERE idllamado = 13701			
				TO ENVIO: micorreo@miempresa.cl, carlotaubeda75@gmail.com, donkhapone@outlook.com


12/08/2026 09:49:06 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13701			
				
12/08/2026 09:49: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

12/08/2026 09:49:06 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-O6pHhw6+TynE67rudUx0060UYJvASDVIaGcjHgwYSJ+v_cZ8zQf
12/08/2026 09:49:06 Detectado modo MULTIPART/FORM-DATA
12/08/2026 09:49:06 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786542546.png
12/08/2026 09:49:07 Envío correo: OK
------------------

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09: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 = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:49:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 09:49:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 09:49: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;
                

[12/08/2026 09:49: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;
                

12/08/2026 09:49:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:49:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 09:49:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13701
            GROUP BY l.idllamado;
            

12/08/2026 09:49:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 09:49:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13701
                and cs.estado_control = 1;
                

12/08/2026 10:03:42 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:03: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;
                

12/08/2026 10:03:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:03:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:03:42 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:03:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

[12/08/2026 10:03: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;
                

12/08/2026 10:03:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:03:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:03:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:03:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:03:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:03:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:04:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:04:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:04: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;
                

12/08/2026 10:04:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:04:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:04:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:04: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;
                

12/08/2026 10:04:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:04:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:04:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:04:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:10:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:10:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:10:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:10:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:10:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:10:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:10:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:10: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;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:10:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:10:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:10: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;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:10:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:11:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:11:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:11:02 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:11: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;
                

12/08/2026 10:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:02 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:11: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;
                

12/08/2026 10:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                
[12/08/2026 10:11: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;
				

12/08/2026 10:11:05 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 10:11: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;
                

12/08/2026 10:11:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

)

12/08/2026 10:11:06 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:11:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:11:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:11 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[12/08/2026 10:11: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;
                

12/08/2026 10:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:11 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[12/08/2026 10:11: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;
                

12/08/2026 10:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:12:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:12: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;
                

12/08/2026 10:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:12:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:12: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;
                

12/08/2026 10:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:12:15 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:12:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:12:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:12:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:12:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:12:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:19: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;
                

12/08/2026 10:19:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:19:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:19: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;
                

12/08/2026 10:19:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:19:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:26 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

[12/08/2026 10:19:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:19:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:26 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:19:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

[12/08/2026 10:19:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:19:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:19:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

[12/08/2026 10: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;
                

12/08/2026 10:19:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

[12/08/2026 10: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;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13637
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:19:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:19:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 10:20:43
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JECy_byjyI_Ggb4L7q+hpBt_YLUjVlily8y2R64slYwq1ewMr6s
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2861",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "31300",
    "contadorColor": "66312",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13637",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB9ANADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABMEAABAwMBAwkEBwEKDwAAAAABAAIDBAURBhIhMRMUQVGBkaGxwSIyYXEHFRYjUnLRsiQmMzRVZJKi4fAlNTZCQ0RUYmN0gpOjwtL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EADIRAAIBAgQCCQIGAwAAAAAAAAABAgMREiExUUHRBBMUIjJhcZGhgcEkNEKx4fBSYvH\/2gAMAwEAAhEDEQA\/AP2ZQ667UFtaTV1UcZAzsE5cfkOKg6ous1rtrXUp\/dEsgYz2c\/E7uzxUWzaXg5NtddozU1s3tvEu8Nz0Y6T81dRVrs5p1ZOfV01n56ISa6tMby0R1MmCRlrG48SutPrSzTkB0skJJx95GfTKvY42RMDI2NY0cA0YAXCpt9FWNLamlilB\/EwE96XhsMFdZ4l7fydKepgqohLTzMljPBzHAhdVlqjSc9DMaqwVr6aTphe7LT8M+hypVo1E+SpNuu8QpK1nDJw2T5f339COOV4iNdp4aqs\/hl+iIqHSV14prnUxRi11bKaRjiXF4yHdQ4FU7q\/VlucRUUEVcz8UI38fh+i1KK6lbKxhOjieJSaf94GXGtRDnn1oq6fBwcDOO\/ClQ6zskpw6ofF+eM+mVfKLNbaCoGJqKnk\/NECl4PgVwV1pNP1XI4Rags83u3KnG7PtvDfNTIqqnn\/gZ45PyPB8lSXax2CjoJq2a3MLYhkhjyzO\/GNxHWo1Po+z19FDUsZUQCZgeGtlBIB3jiCptC1yvWV1LDZN+r5GpRZj7GGPHN7xWRdufIhBpq9Qj7jUk7j1PDsftFRhjuW62qtafyjTosx9R6k\/l\/8AqldqO0X+CsilnvYlia4F7CzO0OkJhW5KrTb8D+OZoURFQ6AiIgCIiAIiIDDanqHVer6GiBGzC+NuCd205wJ8MLcr8\/kPK\/SKC\/fipA7gMeS\/QFrUyUUcPRHinUl5\/sERFkdwVZe7FTXqm2JRsTNH3coG9p9R8FZrOXjUb3TG2WRvOax+4vZgtj9M+AVoJ3yMa8qahapo+G5I0tcZa61lk4++pn8k45JzjgTnf3q7VZYLUbTbhFI4OnkO3K4EnLj81ZpK2J2JoqSppS1CIiqahERAUur\/APJes\/6P22qbZf8AEdB\/y0f7IVbrR5bpuYA+89gPfn0Vvb2CO3UzG8GwsA7gr\/o+pzL8w\/RfuyQiIqHSEREBHrpZ4KKWWmh5aZrcsj\/EepUB1JeabD6ywSiLpdGSceBVxe6wUFmqqjIBbGQ3P4juHiVH0vDLFp+mMz3PfIOUJcSTg7x4YWiso3aOWpilVUIytlfgeLfqy03BzWCcwSu4MmGz48PFXSrbnYLddmnnMAEnRKz2Xjt6e3KpxZtQWdzTaq9tVA3OKebdgdQz6EeaWi9HYY61PxrEt1y5GqRZul1hCyfmt3ppKCfpLmnZ47vj28FoIpoqiMSQyskYeDmOBHeFVxa1NadWFTws6IiKpqYOnj5X6R3DobK5x7GlbxY63xub9ItWD0Nc7sIH6rV1VTFR0slTMcRxNLnH4LWpm16HD0S0Yzb\/AMmdSQBknACobjq6gpJOQpQ6tqCcBsO8Z+fT2KFBTV+rHOqKuWSktufuoWHBkHWf1WhobZRW2PYpKdkW7BcB7R+Z4lRaMdTTHUqruZLd\/ZczPmi1Lfmt57My3UrveijyHkf36z2K9ttnobTFsUkIaT7zzvc75n0U5FVzbyLwoRg8Tze7CIiqbhERAEREBndcPDdP4PF0zQPE+ivKVpZSQtPERtHgs9q486q7Xaxv5aoD3DG7A3epWnV34Uc1POvN+iCIiodIRF8c4NaXOIAAySehAZnV8jquSis0LvvKmUOfu91ucAntz3LSxsbFG2NvusAA+QWY08BeL9W3t+SyN3JU+RwHX88ftFalaTytE5aHfcqu+nogiIszqI9XQ0tfFydVAyVvRtDePkehUEukHUj3z2W4TUkhHuOdlp+BPHvytOispNaGVSjTqZyWfyZVuobzavYvNsfJGDgzwDo6+rh8lb2\/UNrubmsp6pvKOziN\/suPYePYrNQRZra2tZWto4mzs4PaMduBuUtxfAzjCrB5SuvPX3KWhIH0i3EHppgB3Rq5vdA652eppGH25G+zvx7QII8QqGnJH0k1QHTEAf6DVrVM8mn5IpQSnGcXuzN6e1BAIY7VXDmlXTMEeJNzXbO4b+vA\/RaRV92slFeYdipj+8aCGSt3OZ+vyKpmUWqLMMU1VHcYGg4ZLnawOjfv8UajLNZEqVSj3ZLEt191yNSiy7dac2dyd1tdRTPBwS0ZBPbj1U+n1ZZKgbq0RnqkaW47cYUOElwLx6TRlli+xcoosVzoJ27UVbTvH+7K048V6dXUbWlzquAADJJkG5VszbHHckIucM8NTEJYJWSxng9jg4HtC6KCydwiKPXVTaGhnqn7xEwux14HBCG0ldmeg\/wpryWX3obfHsA8RtcPMu7lqVndF0r47S+tm3zVkhe5xGCQNw8cntWiV5622OfoyeDE9ZZ\/36BERUOkKi1dX81tBpY989aeSY3ON3SfTtV6snRNOoNXS1rgTS2\/2IwRuLgTjxy7uV4LO74HN0iTwqEdZZcy3pRR6asUDal\/JRxgB7tknLzx4Z6Vy+19h\/2\/\/wAL\/wD5VtPTwVMfJ1EMczM52ZGhw7io31Lav5Mo\/wDsN\/RE4vORLjVjZU7WW9yNHqiyS+7cIx+YFvmFLjutum3R19M89TZWk+a4Saes8vvW6nH5WbPkosmjrHJwpXRnrbK71KdzzIv0hbP3XMumua9ocxwc08CDkFelmHaHpY5C+jrqqmJ6nA\/ovjrXqi3Hbo7q2uaP9HPxdu+OfMKcMXox11WPih7O5qEUG01NbVUW3cKTm04cWloOQ74jq\/sU5UasbxkpK6IgtdG25OuIh\/dThsmTaPDGOHDoUtEUXuSopaIIiISfHNDmlrgCCMEHpUGexWqoJMtvpyTxIYAT2hT0UptaFZRjLVXKKTRtkkORTPj\/ACyu9SvMei7Kx4cYZHj8LpDg9yv0VsctzLs1HXCvY4UdFT2+mbT0sQiibwaCT4niu6IqGySSsgs3rSaR1BTW6EfeVswZv4YBHqWrSLy5rXY2mg7JyMjgVaLs7lKsHUg43tc8U1OykpYqeMYZEwMb8gMLqiKpdKysgiIhJWagrzbrNPM1xEjhsR447R3bvPsXjTNvNtscETscpIOVfjrPR2DA7FW6jH1nf7ZaG+00O5aYDfgfHo4A9\/fqFo8opbnNDv1pS2y+7CIizOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgOPNKfnfO+RZy+zscpj2sdWV2REISS0CIiEhERAEREAREQBcavnIpn80EZm\/zRISB4LsiENXVjMfvz\/mfgn78\/5n4LTor4\/JHP2f8A3l7mY5xrOL\/UqOftA\/8AYJ9c6ni3TWJryOPJu\/tK06JjWyHUSWk38cjMfayui\/jOnquMfiGT5tC+t11bg4MnpauF3TlgIHjnwWmXlzWvaWvaHNPEEZBTFHYdXWWk\/hfwU0Or7HLgGrMZJxh8bh44wpsN7tc+OTuFMSTgAygE9hXqaz2yfPK2+mcSMZMQz38VCm0lY5sk0QYSOLHuGOzOE7nmPxC2fuuZbskZK3aje17etpyF6WafoW2bW3BPVQvHulrwQD3Z8V5+ytxg30moapgG8MdkjP8ASx4JhjuOsrLWHs\/+GnRZj6v1dT\/wN1p52jfsyN3n4e76pz3WFNgSW6mqGji5h3n+t6Jg2aHaLeKDX05GnRZj7U3Kn\/jmn6lgHF7MkeXqukWuLWTszxVFO8e8HszjuKdXLYdqo8Xb1yNGirINR2epwI7hCC7gHnY88KxZIyVu1G9r29bTkKrTWpvGcZeF3PSIigsEREAREQBERAEREAREQBERAEREAREQBERAEREAXOWGKduzLEyQdT2groiDUqZ9L2WoyX2+Np\/4ZLPIhQH6Ht4dt01TVU7+trwR5Z8VpUV1OS4mEuj0ZaxRlvs5faVmzRX97gODZQQB8OlfTNrGiGXQ0taBxLcZPx4t8lqEU43xRTs0V4ZNfXmZf7YT0e662epp9\/vMGQflnHmrCl1XZao4FY2J3VKCzxO7xVuQCMEZBVHd9KUV1lZKDzZzQQ4xMA2+rKJweqsRKPSIK8Xi9eZdRTRTM24pGSN62OBC9qgs+lILPXCqjqpJCGkbLgAN6v1SSSeRvTlOUbzVmERFBof\/2Q==",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29592\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:20",
    "ubicacionGPS": "LatLng(lat: -22.0886878, lng: -70.1946056)",
    "horaLlegada": "10:16",
    "horaDespacho": "09:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 10:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 10:20:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 10:20:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2861', 2, 21773342, 31300, NOW(), 
				'09:49', '10:16', '10:20', 10, 'insumo', -1, 
				'', '','1','66312',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786544443.png', '', null, 'COMPLETADO','LatLng(lat: -22.0886878, lng: -70.1946056)' )
				
[12/08/2026 10:20:43] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201449
[12/08/2026 10:20:43] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201449', 'EPS-I303', 1)
				
[12/08/2026 10:20:43] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29592 and
				    IDproducto = 'EPS-I303'
				

12/08/2026 10:20:43 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
12/08/2026 10:20:43 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201449'                    
				WHERE idllamado = 13637			
				TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, donkhapone@outlook.com


12/08/2026 10:20:43 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13637			
				
12/08/2026 10:20: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

12/08/2026 10:20:43 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-JECy_byjyI_Ggb4L7q+hpBt_YLUjVlily8y2R64slYwq1ewMr6s
12/08/2026 10:20:43 Detectado modo MULTIPART/FORM-DATA
12/08/2026 10:20:43 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786544443.png
12/08/2026 10:20:43 Envío correo: OK
------------------

12/08/2026 10:20:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:46 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

[12/08/2026 10:20: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;
                

12/08/2026 10:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:46 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

[12/08/2026 10:20: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;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13637
            GROUP BY l.idllamado;
            

12/08/2026 10:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:20:46 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:20: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;
                

12/08/2026 10:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13637
                and cs.estado_control = 1;
                

12/08/2026 10:20:50 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:20: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;
                

12/08/2026 10:20:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:20:50 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:20:50 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:20: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;
                

[12/08/2026 10:20: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;
                

12/08/2026 10:20:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:20:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:20:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:20:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:20:53 - INPUT: {"rutTecnico":"21773342"}
12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[12/08/2026 10:20:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:20:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:20:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:20:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:20:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:20:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:21:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:21:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/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 = 13638
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/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 = 13638
                and cs.estado_control = 1;
                

12/08/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 = 13638
                and cs.estado_control = 1;
                

12/08/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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:21:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:21:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:21:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:25 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

[12/08/2026 10:22:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:22:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:22:25 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:22:25 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:22:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:22:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:22:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:26 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[12/08/2026 10:22: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;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:26 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:22:26 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

[12/08/2026 10:22: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;
                

[12/08/2026 10:22: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;
                

12/08/2026 10:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13638
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 15:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:22:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:22:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 10:23:20
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-F7cglpuAFhuy1mdC1CIX6mSpyz+rQXW5juE09jKLRxeEI4sR7V+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "603005",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13638",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB8AN0DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABFEAABAwMBAwgGBQsCBwAAAAABAAIDBAURBhIhMRMiQVGBkbHBFDJhcXKhBxUWJNEjJTQ3QnN0stLh8VKSM0NGU1Si8P\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREjFBBBMhMlFxYYGh0RQicpHB4SNCsVL\/2gAMAwEAAhEDEQA\/AP7MiIgCIsTUF8NAxtFRtMtwqBiNjRnZz0nyUpNuyKVJxpxxSPa8ahorONiRxlqCObCziff1LLZUaru2y+KKG3QneC8c49XHJ+QX5pCkopjPWSMklr2SESyTAHZceOzvPfxVUtG1Dgkc0FOuscpWXRflkx9Tanjy6O+sc4cA9u7wK\/YdQ19sq2Ul+pwxrjgVbPUJ7v8ACplzXCgguVFJSVDcskHHpaegj2hRjT5kWdBxV6cnfxd0dDXBzQ5pBBGQR0r9WBoyrlqLGIpvWp5DEPhGMeJHYt9UkrOxtSmqkFJahERQaBERAEREAREQBERAEREAREQBERAEXyHNLi0OBcOIzvC+kAREQHlU1DKSllqJDhkTC93uAypbT8T5KOr1LWvL6l7H8md2GNaOIzw4Ee4e1aurXuj0zWFpwSGjsLwCuWrkbS\/R+0t5u1Rxt95cAD4lax5e7OKs\/wCTjlFX8z60TCWWDlnEl08rnkniejyVCs3T0Jg0\/RMIweSDse\/f5rSVJu8mb0I4aUV4BfE0rIIXzSHZZG0uceoDeV9qe1jWSRWxlDA3amrniNo6cbs4+Q7UiruxarPdwcuh5aMBZaqqulw1s0zn7gdwA3+a\/ZNUVdc8x2O1y1I4cvKNlmf\/ALrIW3QUMVDbYaJrRsRs2SOIJ6e85XQ1rWNDWNDWjgAMAKzkrt2MYUZqnGClbqTX1Zqqt51Tdo6UO37EI3t9m4DxKDRbZt9ddqyoPXtY8cqnRRvJaE\/C03zXfdsmPsDav\/IrP97f6VwXrStrs9tdWA1k2y4At5ZjeJxx2CrZcl1o\/rC11FL+1Iw7JzwcN7T3gKyqSvxZSpslLA8MVcwKfSTfRoprddqylEjA4DazjIz0bK9Bp6+w45HUcr\/3jSfEldOjqw1VgjY\/16dxiPZvHyPyW6kpyTsyKVClOCkla\/iycp6DVkdREJbvTOga4bXMBcW9P7PmqNEVHK5006ahk2+7uERFU0CzLrqC3Wjm1MpMuMiKMZd\/btXVcIJ6mhlhpqh1PK4c2RvQVhizW3TNvkuU8RrZ4sF0knEkkDcOjj\/dXik8znrTqLl4LVv2PNt61DdHfm21inhI3Sz7u3fx7AV9fU+p6nfU3xsPTiFvDuAVDR1HpdHFUcm+LlWB2w\/iMr2U47ZIqqGJXlJv0\/wmDpa6n\/qer7nf1p9kq2QYqNQ1ko6t\/m4qnRRvJE\/C0unq\/cy7Xp+htM756flXSvaWufI\/JOTlaiIqtt5m8IRgrRVkERFBYyNUxGbTda0DJDA7ucD5LBvFR6Ro20U8W8zmOPh\/pGPHCsKqAVNJNTu4Sscw9owv53b5zV\/UtuO\/kKx+2w8C3LT\/AFLenxXY83a+EvqVvVe5\/R42NijbG31WAAe4L6RFgekFLQMdeNbzTvJ5C2jYYBwLv85PYFUqa0e8RuuFNOAytbUF0rOsdfHrzw9nWrx4Js5q3zThF5Xv9ilREVDpCIiAIiICY0v93vV6ohuY2bbYOGN56PdhU6mKX7t9INW07hU04LR1nDf6SqdXqZ3ObZuEHHo2vUIiKh0hERAFM6q2rjW2+yxuc3l38pLs9DRuz4+zcqVzg1pc4gADJJ6FLad\/O+oK+9na5Jp5KDPV\/gD\/AHLSHC8uhy7R81qf\/X+alQxjY2NYwYa0AAdQX0iLM6giIgCIiAIiIAoO2UbR9IMzCMtjlkkAz7DjxV4pCzxh2v7k4j1GOIPty0fitabsn2OLao3lT7leiIsjtCn75ZJ\/SRd7S7k66Pe5o4Sjq9\/iqBFMW07ozqU41I2ZkWTUVNeG8kRyNWwc+F2456cda11hX6wirb6fQ5iuEJ22OacbeOg+32rosF4F2ojyg2aqDDJ2EYw7rx2HuKs0mroypzlGW7qZ6Pr+zVREVDpCIiAmK07P0h2\/G7apTn27pPwVOpiu\/WJbf4Y+Eip1eenY5tnzn9X4QREVDpCIiAwtX19Rb7KXU7mNMzuScXA5wQfVxwO5ZdDTaosVDEynhpqqDO0YmjnDPHPA5711aiBr9QWm2swQHmaTB3gDw3AqnWuLDFKxw7ve1pSu1bgrepO0us6B8phropqGZpALZGkgHxHaAt2nqYKqIS08zJYzwcxwIXxVUNJXM2KqnjmA4bbQce7qWFPo6OGTlrRWz0MoOcBxLT5+Kj5H4Gl68Okl9n7FKimAdXW3cW09xib05w4j5HPeuy0aglr611BV2+alqWN2iCMtx5KHB5otHaItqMk0\/FG2iIqHQEREAXHTWulpa+orYg4TVHrkuyO5diKbkOKbTegREUEhERAF5shiic98cTGOkOXlrQC49Z616IgCIiAIiICYrv1iW3+GPhIqdTFd+sS2\/wAMfCRU60np2ObZ85\/V+EERFmdIREQE7aYJK3UtfdJoZYhH+RhD244biR18D391EiKZO5nTp4FbzCIig0CIiAIiIAixrvqD6pq2wegT1G0wP2oxuG8jHyXNDra2OfsVMdRSvGMiSPOO7f8AJXUJNXSMHtFKMsLlZlEizYNQ2epxydxgGeh7tg\/PC0GSMlbtRva9vW05Cq01maxnGXK7n0iIoLBERAEREAREQBERATD8SfSHHtb+Tpebno3H8SqdTVMx0+v6uQsOxBThoeBuJIb09p7lSq89OxzbP\/Z+LCIiodIREQBERAEREAREQBERAF4z0dLVfpFNFN+8YHeK9kQhpPMx59KWSfOaFrD1xuLcdgOFwu0NQNcX01XVwP6CHggDuz81TIrqclqYy2ajLOKJj7L3SD9E1DUtA4Nfkj+byQ2zVsBxBeYJWj\/uN3n\/ANT4qnRN49SvwsFytrzZMcrrOD\/kUdR2gZ+YT651PFumsTXkceTd\/cqnRMa6IbiSym\/T2Jgarr4zip07Vx9GRk5Pa0INc0TDs1NFVwu6tkHxIVOvwgEYIyCmKPQbussqnojAZrayv9aSVnxRnyyuqPVFkl9W4Rj4gW+IXdJQUcoIkpIHg8dqMHK5ZNPWeX1rdTj4WbPgnyeIttC1T8mdEV0t8wzFXU7\/AIZWnzXSCCMg5BWFLoyySDDad8XtZK7zJXMdDUcZzS11XCTx5wO7sAS0Oox11nFPs\/0bkFtpaauqK2JhE1RjbOTjd7F1qY+zV4g\/RtRTkf6ZAcD5nwT0PWFMfydwpqhg3AOaMn383zU4U9SFVlDOm12s\/wAlOilxdNV0x+8WaKZo6YjvPcT4INYzwj77Y6uD3AnxATdy0J+Kprmuu6ZUIp2LXFnk9YzxfHH+BK7YdTWWfGxcIhk45+WeOFVwktC8dopSykjVRecU0U7dqKVkg62OBXoqm2YREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB4zUlNUZ5enilyMHbYDnvXDPpuzVHr26Efuxsfy4WoilNrIpKnCXMkybl0PbCdunmqKd44Fr8gd4z815HTd7pT9wv8haBzWTE4HiPkqlFbeSMXstLRW7cCWD9Z0h5zKWtAO\/GyM\/yr9OqrhSbq+wzx7s7bCSPDzVQinGnmiNxNcs358Sdj1vZ3nD\/SIT07cf4Erth1NZZ8bFwiGTjn5Z44WhLS08\/\/ABoI5PjYD4rhm05Zp87dugGRjmN2PDCi8CbbQsmn5NHZFXUk+ORqoZM8NiQHPcvdYEmirI\/1YZI\/hlPnldtnsdLZI5WU0kzxKQXcq4HGOrACOKtdCFWpjwyS+\/6P\/9k=",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29593\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:23",
    "ubicacionGPS": "LatLng(lat: -22.0886845, lng: -70.1946173)",
    "horaLlegada": "10:16",
    "horaDespacho": "10:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 10:23:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 10:23:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 10:23:20] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2522', 2, 21773342, 603005, NOW(), 
				'10:20', '10:16', '10:23', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786544600.png', '', null, 'COMPLETADO','LatLng(lat: -22.0886845, lng: -70.1946173)' )
				
[12/08/2026 10:23:20] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201450
[12/08/2026 10:23:20] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201450', 'KYO-I647', 1)
				
[12/08/2026 10:23:20] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29593 and
				    IDproducto = 'KYO-I647'
				

12/08/2026 10:23:20 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
12/08/2026 10:23:20 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201450'                    
				WHERE idllamado = 13638			
				TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, donkhapone@outlook.com


12/08/2026 10:23:20 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13638			
				
12/08/2026 10:23:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

12/08/2026 10:23:20 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-F7cglpuAFhuy1mdC1CIX6mSpyz+rQXW5juE09jKLRxeEI4sR7V+
12/08/2026 10:23:20 Detectado modo MULTIPART/FORM-DATA
12/08/2026 10:23:20 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786544600.png
12/08/2026 10:23:20 Envío correo: OK
------------------

12/08/2026 10:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:23: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;
                

12/08/2026 10:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:23:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:23: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;
                

12/08/2026 10:23:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:23: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;
                

12/08/2026 10:23:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:23: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;
                

12/08/2026 10:23:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:23:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13638
            GROUP BY l.idllamado;
            

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:23:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:23 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:24:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:23 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:24:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:24:23 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:24:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:24:24 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:24: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;
                

12/08/2026 10:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:31:30 - INPUT: {"rutTecnico":"27729424"}[12/08/2026 10:31:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 10:31:30 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [RutCliente] => 76250610
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 5735196
            [ModeloMaquina] => STUDIO 3508A
            [FechaLlamado] => 10/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 07/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EMPRENORT LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76522970
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLENCORE CHILE SPA
            [ciudad] => LAS CONDES, SANTIAGO
            [RutCliente] => 76821240
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

)
[12/08/2026 10:31: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 10:31:35 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13762
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2664
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:31:59 - INPUT: {"rutTecnico":"27729424"}
12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

[12/08/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13762
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2664
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:02 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

[12/08/2026 10:32:02] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:32:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13762
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2664
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 10:32:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3Q1RIDdDyanCKSaOOodDRcfon.zQBZ1nuSwVYiR5kZcxVEZHtK0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "12576383",
    "serieinterna": "KY2664",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "configuración\nremoto",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13762",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACsAQIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBBQUGAwYEBQUAAAABAAIDBAURBhIhMUFhExRRcZEigaGxwdEVIzIkM0JD4fAHFjTxUlNjwtJicoKy4v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgUBBwIHAAMAAAAAAAABAgMREiExQVETBCIyYXGh0bHhFCNCgZHB8FJTYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQESup6uoMHdavu4ZKHSeznbaOSloim5CVm2ERFBIREQBZk3m83apmjstPCynicWGolcMk48P6H3LTLLWl34Nqmrtcj\/wAqrHbQl27f4D3ZGf8A0q8Nzmrt3ir2TedvY6U15ulsr4aO+sjLKg4jnj4bWcYPLHBaVUuraPvdgncGhz4MSt3Zxjj8MqZZaw19mpalxy98Y2j4uG4\/EFJWaxIUnKFR0277onIiKh0hFxq6uChp3T1EgZG3mefQeJ6Kih1VNVzsdS2qd1GXgOqX5DQM4JO7AA358lZRb0Mp1oQdpPM0aKFTXm21kpip62GR4x7IdvOfDx48vJTVDTWpeMlLNMIiKCwREQBERAEREAREQBERAEREAREQBFBut2p7PTMqKlshY54Z7Dc4zzPoprXBzQ5pBBGQRzU23KqSba3PqIigsF8c4NaXOIAAySeSOcGtLnEAAZJPJZGV9RrC5S00MzorVTnEjm8ZTnl6bvBWjG5jVq4LJK7eiNLDcqGoldFDVwvkadkta8E58PgVKVBVaMtE9KY4YTBIB7MjXknPXPFfNK3GaaGe21hJqqJ5Y4k52hkj4Yx6KXFWuisas1NQqLXSxoFSantL7hQtqKYubWUh7SEt4nnj4buoV2iqnZ3RrUgqkXF7meZemXXR9XVO2RK2neyVo5O2SPQ8VI0kxzNNUm1xIcfcXHCzmqqOazVM89KcU1yaWytxua7Of78ytbY4xFYqFgBH7OwkHxIBPzWsklHLc4qMpSr2nrFW99SeiKNcah1LbKqoZ+uKF727uYBIWKzO9uyuzNyB2p9SvgLibbQH2hvxI7\/f4Dqu2pqp88lNp2hAbJU429kbmMHLd5Z8h1XGzVsFi0h3+Yh09S572tPGR2SAPhn1UvS1qfHE+61w2qyrJdlw3safv8sLd5Z8HmxvNYVrLN+S4\/o6v0faJKSOF0Ja9jA0zMOHE43k8vgov+TDF7NLeayFnJuc\/IhadFn1JcnW+y0X+k8QsMULI3PdIWtAL3cXY5lF7RUOgIiIAiIgCIiAIiIAiIgCIiAIiICNX0MNyopKScZZIOXEHkVQ6drJ7bWu09cDl8YzBJvw5vh6cPTitOs9q6ic+iiucBLaiheHhwGTs5GfTcfcVpB37rOavFx\/NjqvdFnd7pHZ6LvcsUkjA4NIZxGealwysnhZNGcskaHNPQ71WzhmoNMu2QB3mDaA47LuI4eBC4aQrO92CJjv105MTt2OHD4EKMPduSqj6qWzV0fdW3B1BZHtiOJagiJmDvGeJ9PmptnoBbbVBS49trcyHxcd5+KptXHauNlieT2T6n28ebfoStOpeUERDvV5N7WX9hZiwyCp1XeJ2OLo2kMBB9nPD\/tUnUN+7m38PoAZrhONlrWb+zzz8\/Ae9StP2k2i2iKQ7VRIe0mdxy48s9Pv4olhi29ysn1KyjHSOb+C0REWZ1me1u1p084loJbK0g+B3\/1XbSNWavT0G3IXviLo3E8Rg7h6EKp1ZeoKumq7dBE+Tu5aZJQPZa7awQfDjx8dy8f4f1BzWUpO47MjRn3H6LfC+lmeYqq\/GZPVWNoo9dSitoZ6UnAlYW58MhSEWB6TSaszK2nSUsVVFNc5xPHTDEEIOQN5OT8+vPwWqRFaUnLUzpUoUlaIREVTUIiIAi+ZGcZ3r6gCIiAIiIAiIgCIiAIiIAolRc6SlrYKOaXZmqP3YwcH3qWs1rOJ0VPSXOIfmUcwPuJHH3geqtFJuzMa03CDktjSrnPCyop5IJBlkjCxw6EYSGZlRBHPGcskaHNPiCMhdFU1yaM1oiZ34ZPRSbpKWYtI8Af65XOgcbRrOqoS0iG4DtIyfEAn\/wAh6L1Yf2bVt6pTxkIm+Of+9dtXUUj6SG5UwcaiheHtwf4cjO73D4rd+Jrk86KaoRktYP2WT9jnrSNzKSjrmjPdagOOPA\/1AWiilZNEyWNwcx7Q5rhzB4FQmOptQWTIP5NVFg43lh+4PyVFa7zLp9\/4PemuY2M4gqACWub9hnjy4clSzcbbo2xxp1Mb8MrZ+f3Lu22Ggtcr5qeMmR5J2nnJaDyHgrJR4K6kqYxJBUxSMIyC14K41N5tlHnt66FhHLayfQb1V4mzePThHKyROVJqW8ut9Oykpcurqv2IQ3i3Jxn47uvkoc+qaivm7rYKN1RIRkzSDDW+4\/M\/FSrNpsUdQa+4TGrrXb9t28M8uvX0VlHDnIxlVdXuUv52Xpyc6XTLYdOVFE937VVM2ppD7WXjeBv8D91C0tR1FsuLqaptEkcrmEGra4lhA4Dw34+W5a5FGN2ae5b8NBSjKOVgiIqHSEREARRn3GhjnED6yBspzhhkGd3RSUsQmnoEREJM\/qS21ZfHd7dI8VVIP3e8hzeeB4\/NT7JeIb1QNnjw2Ru6WPO9p+3grFZq62Cqpqo3Sxy9jM0EvgH6ZOeAPofgtE1JWZyzjKnLqQV09V\/aNKiqLJqGmvDTFgw1bBmSFw9cK3VGmnZm8JxnHFF5BEVVfb7DZqdvs9rUy7ooRxPU9ESbdkTOcYRxS0LRzg1pc4gADJJ5KnqtV2al2x3oTOb\/AAxDaz5Hh8VQ3C23Wqt01yv1WWRRM2mUsZxv5A8hvI8Sp2ktPU8NBHX1UTJZ5sPj2hkMbywDz558lpgilds4+vWnNQhG3rx6Hs6ouM3tUdgqZI8Ah7sjPw+6f5ouMDTJW2GeGIH2pATho8T7K0yKuKPBr0qv\/Z7Ih2y6Ut2pRUUr8g8WOxtN8x7lMWUqqeOzazoZab8qKuDmysbwJ8vMgrVqJJLNF6M5STUtVkFxrKWOtpJaaUZZK0tO7h1XZFU1aTVmZSy181hqhY7q4Buf2abO4jw8vD0WrUG7WmlvFIYKlu8b2PH6mHxH2VFDXXrTY7K5QurqNuAyaLe5gAJ8N+4c\/VaNY81qckZPs\/dlnHZ8eTOgBp\/8Q3ZH+ppd2N3AfH9C0r2NkjdG9oc1wIcDzCy9pe+9aodeGU8kVNFFsRmTcSSOnnnj4eK1ST1Rbs2cZPZtmVt0dZpi4Gh7vLVUNVL+U+NpJjJxx5f7ZWlqKaCrhMNTCyWM8WvGQuqKrld3NKdJQTjsZ6TRNmeSWsmj38GyHd65Xen0lZac57p2h8ZHF3w4K6RTjlyQuz0U74V\/B4ihigibFDGyONvBjGgAe4L2iKhvoEREAXOaaKnjMk8rImDi57gAPeVUXnU1NbH92hYaqsO4Qs34PLP24qvp9OV16lFZqCdwHFlNGcBo6+Hz6q6hldnNOv3sFNXfsvVkms1hTNnFNbaeS4Tk4xHub643\/wB71GfQakvEbvxCrjt1MTkxx4zjrg8PMrR0lBSUEfZ0tPHC3nsNwT5nms1c62o1JdDZrbJs0bP9TUN3g9PLl1PRXi1+lfuY1YyS\/MldvRLL7lVTWWlulyZTWhjhTUzszVsntF56Dh5bvNfoSj0VFT2+lZTU0YZGwbh49T1UhUnPEbdnoKknywiIqHSEREBS3vTzLiW1VI8UtdGcsmbu2uhx81EtmpJaapFrvrDBVNOGzHAY8cifvw8lpVEuFspLpT9hWQiRoOWnOC0+IKupZWkc06LUsdN2fs\/9ySXPa1heT7IGcjfuWX05D+M3Sqv1THu29ina4fpA5+YGB6qvu9NedO22alZUd5t0zezDn7nR55Df\/RXelLlb5bXT0NPMO2iZ7Ubhg54uI8Rkq+HDFtGHVVWtGE1a2dnzsWtyom3C3T0jiB2rMAkZAPI46HCzdBfqqwNbbb1SSBsQDY5ohkFoG7z4f03LXLy5rXtLXtDmniCMgqilZWZ01KTlJTi7MoxrOyloJnkbnkYnIdaWQDIqJD0ETlaG20BOTQ05J\/6TfsgttADkUNOCP+k37JeHBXD2j\/kv4fyYu7aipq++2+ppIZpm0xJ2NnBc7PL0Ct\/8y3mc\/s2nZwORk2h9AudtEdfreqqIGgQUcXZtLeG1w5f\/ACWrV5OKsrHPQp1J4pY7Xey4yMx+LarO8WSIA8Mu\/wD0vhvuo6fL6mw7TAMnsiSfhlahFTGuDo6E9qj9vgpLXqq33Kbu526aoJ2RFKMZPQ\/TirtVl2sFDd2gzsMcoORNHgP9eYVkBgY8FEsOxpT6iup5+Z9REVTUIiIAiIgCIq+63qhtERfUyjbIy2Ju9zvIfVSk3kispRirydkT3ODWlziAAMknksvXX6qvFUbZYM5z+bVcAwZ5H6+i5NhvOqztVDnUFsJyI2\/qkH19+7otLQW+lttMKekiEbBxxxcfEnmVeyhrqc2Kdfw5R53fpwQrLp+ls8QcB21Tj2p3Dfv5DwCtkWXul4qrvVG0WJ2T\/PqQcBg6H6+ihJzZpKUKEEkvRci93eouNYLJZ3ZkcdmeccGDmMj4n3K7tVqprRRtp6dvV7zxefErnZ7LSWWm7OnG092O0kdxefoOisUlJaLQilTlfqVPF9AiIqHQEREAREQBERAUGtI3P05KWjOw9rj5Z\/qvMmnrderfS1TAYJnRMcJohgncDk+JV1WUkVdRy0swyyVpaenVZ7S9wNC99grz2dRA8iEuGA9vHA+JHQrWLeHLY4qsY9bvrKSt+6OQuN7005rbq3vtFnAnYcuHr9fVaShuFLcqcT0kzZGkDIB3t6EcipDmhzS1wBBGCDzWcrtLvp6jv1hm7pUA5MRP5bh4Y+nDyUXjLXJlsNSj4e9Hjf8Abk0io9TXh9vpmUlISa6qOzEG4y3eBn6Dr5KDFrM0kb4LtQyw1cbMgAbpDj4Z94XTTdrqKmodfbp7VRNvhaf5bfHHlw6ealQw5yKyr9XuUnm9fL7lnYbPHZrc2BpLpHnblcebscPIKzRFm227s64QUIqMdEERFBYIiIAiIgCIiAIvhIAyTgBZe43uqvFV+F2BxP8AzqoHAaOh+vorRi2ZVKsaaz12XJKvWozTT\/h1tj7zXv3YAyIz1\/vzS0aZZA8V10d3uucdouectYenjjx9FLsliprNBhn5k7x+ZM4b3dB4DorRWcklaJlCk5vHV12Wy+4Xxzg1pc4gADJJ5L6slda2o1FdPwW3SFtMw\/tM7eHUeXzPRVjG7NatVU1y3ohW11bqeqfb7S8xUTDiap\/4ug6dOfktDa7XS2mkFPSswOLnHi8+JXSioqe30rKamjDI2DcPHqeqkKZSvktClKlZ455y+nkgiIqHQEREAREQBERAEREAVddbJSXeMdsCyZowyZm5zd+fmPmrFFKbWaKyjGatJZGXZb9VW\/8AKpbhBVQgYZ2o9obuv3K+41jVDsyaSkzxkGDu+PyWnRWx+SMPwyWSk7epnafRtDsyPuEktbUS5LpHOIx5Y+qhdpddIOa2Tar7WTgEfqi+3lw8lr15c1r2Fj2hzXDBBGQQpxvfMh9mglen3Xz88nKjq4a6ljqad+1HIMgrusvpqPuOoLrboSDTMIe0c2k8vjj3BahVkrM0o1HOF3r8BERVNgiIgCIiALnPPFTQvmnkbHGwZc5xwAoF5vlLZYWulzJK\/dHE39TvsFTwWa5ahlbV317oacHMdIz2fefD37\/JXUcrvQ56lazwQV5fT1Oc9ZXaundR0AdTW1pxLORvk\/vw9fBaW3W2ltdKKekj2GDeTxLj4krtBBFTQshgjbHGwYa1owAuiSlfJaE06OF45O8ufgL45wa0ucQABkk8l5lljghfNK8MjYC5zjwAWSfLX6xnfFTvdS2qM4c\/G+X+\/DlzURjf0Jq1cFkldvRHW4Xqpvs7rXYgSw7pqrgGjp068+SvrVaqa0Ubaenb1e88XnxK6UNBTW2mbT0sQjY31J8SeakqZS2WhWnSaeObvL6egREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAKBeLrDaLe+olcNvBEbD\/ABu5Bebre6G0QudUSgyYy2Jp9p3u5eapaG11t\/uEV2vDBHBHvgpscs5GR6efkrxju9Dmq1XfBTzl9PNkzStvlgpZrhVtxV1ry92f4W53D5n0V+iKsnd3NadNU4qKCIig0CIo9bXU1vp3T1UzY2DmeJ6Ac0IbSV2SFRXnUkVEe6UIFVXvOy2Jm\/ZPXHyVe643fU73Q2xpoqHOHVLtzndB9h6q6tFgobMz9nj2pSMOmfvcfsOgWmFR8Ry9SdbKlkufgg2TT80VQbpd39vXv3gHBEfpuz5bhyWhRFSUnJ3ZvTpxpxtEL45wa0ucQABkk8l9WTvFwm1BV\/glpdmLOamoH6QM8PL5qYxuyKtVU431ey5PFbPPq64dwoyWW2BwM04\/mHp9PVamkpYaKljpqdgZFGMNaF4oKGC20cdLTt2WMHvJ5kqSplK+S0K0qTi3OWcn\/rIIiKhuEREAREQBERAEREAREQBfCQBknACh3K7UVph7WrmDc\/pYN7neQWedJddXO2Immhtefaef1SdOvlw81dRbzehhUrqLwrOXH+0NZHIyVgkje17HcHNOQV6VYyS16dt8dO6oZDEzcA92XEk5PU8VVzasmrdqKxW+WpeDgyPbhrev++EUG9BKvCCSm8+FmaOaeGmiMs8rIo28XPOAFm6jUdZdZ30Wn6cvPB1U\/c1vUZ+vokWma66PbPqCufLjeKeM4aPTd6eq0dPTQUkIhpoWRRjg1gwFPdj5sp+bV\/8AK9\/sU1p0tBSS97r399rXHaMj94B6A8+p+CvkRUcm9TanTjTVooIiKDQIiIAqu42CiulfDVVe2\/sm7Ij2sNO\/O9WiKU2tCsoRmrSVzyxjI2BkbQxrRgNaMAL0iKCwRFU6kuZtlqkMRPeJRsQgccndkdRnKlK7sUnNQi5PYrb1X1V3uX4Fa3uZs\/6qYcGjmPj9Fd2q1U1oo209O3q954vPiVF09Z22qhzIAaqb2pn5JyeQ3+GVbq0n+laGNGm79SfifsuAiKHXXegtoPe6qON2M7GcuPkOKqk3odEpKKu2TF8JAGScALMP1TX3FwZY7VLKN4Msww0H1x6leRpq6XbYkvlzcWg57vEAAPfwz7j5q+C3idjm\/EYsqcW\/ZfyWFfqy00JDRMamQnGxBh3x4Kv7\/qm7uxR0bbdCT+8lHtY9\/wBArqgsVttoBpqVgeP5jhtP9SrBMUVoh06s\/HK3kvkprNYHWypkq6ivmq6iQYcXHDfTJzwVyiKjbbuzeEIwWGIREUFwiIgINwvNvtYHfKlkbjwZxcfcN6y11126SMxWyExk7jLLjI8h9\/RaausNtuNUKmrpu1kazYGXEDG\/kD1Xuns1spMdhQwNI\/i2AT6netIuC1Vzjqw7RNtRkkvcw1ueZpzUR22pu9W4\/vZwezafLfnzJHkFe\/h+qrmcVVZFbof+CHiBjlj\/AMlqQABgDAC+qXUvoiIdjUVZyf7Zff3KCk0dbIH9rU9pWzE5LpnbifIfXKvIoYoGCOGNkbBwaxoAXtFm5N6nTClCn4VYIiKDQIiIAiIgCIiAIiIAiIgCotTW+rqu5VVHA2d9HL2hjLsF28HHhy8\/BXqKU7O5SpBVIuLMydR3sAMOnJy\/G8gux\/8AX6r4bxqeq9mmsjYTwLpnfchadFbEuDHo1HrUft8GX\/CdUVzsVl2ZTxni2Djj3AfNSqDR9qoyHyxmrl5um3gn\/wBvD1yr5Ec5Ex7NTTu8355nljGRsDI2hjWjAa0YAXpEVDoCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "NOTARIA MARIA ELENA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "HEIDI CAVIERES",
    "correoContacto": "hcavieres@notariacavieres.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:32",
    "ubicacionGPS": "LatLng(lat: -23.6617994, lng: -70.3999911)",
    "horaLlegada": "10:31",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 10:32:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 10:32:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:12576383

[12/08/2026 10:32:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('12576383', 'KY2664', 1, 27729424, 0, NOW(), 
				'08:00', '10:31', '10:32', 14, 'configuración
remoto', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786545173.png', '', null, 'COMPLETADO','LatLng(lat: -23.6617994, lng: -70.3999911)' )
				
[12/08/2026 10:32:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201451

12/08/2026 10:32:53 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201451'                    
				WHERE idllamado = 13762			
				TO ENVIO: micorreo@miempresa.cl, hcavieres@notariacavieres.cl, donkhapone@outlook.com


12/08/2026 10:32:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13762			
				
12/08/2026 10:32: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

12/08/2026 10:32:53 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-3Q1RIDdDyanCKSaOOodDRcfon.zQBZ1nuSwVYiR5kZcxVEZHtK0
12/08/2026 10:32:53 Detectado modo MULTIPART/FORM-DATA
12/08/2026 10:32:53 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786545173.png
12/08/2026 10:32:54 Envío correo: OK
------------------

12/08/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:56 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

[12/08/2026 10:32:56] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13762
            GROUP BY l.idllamado;
            

12/08/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13762
                and cs.estado_control = 1;
                

12/08/2026 10:32:57 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 10:32:57] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:32:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:00 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 10:33:00] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:01 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 10:33:01] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:04 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 10:33:04] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:04 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 10:33:04] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13763
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 09:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:33 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:33:33 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:33:33 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:33:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:33:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:33:33 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:33:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

[12/08/2026 10:33:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:33:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13638
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:36 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:33:36 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 10:33:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:33:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:36 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:48 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:48 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:48 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:48 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:33:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:33:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:50 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33: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;
                

12/08/2026 10:33:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/08/2026 10:33:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-kEPOvKb2i579ac41EkX.v2jpPTs3DSdIZa6VeTamzQNYhlGtFcl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "12576383",
    "serieinterna": "TO3090",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "asistencia remota",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13763",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiASsDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xAA8EAABAwMCAwYEBAQEBwAAAAABAAIDBAURBiESMUETUWFxgaEUIpGxFTLB0SNCUuEkNFNyFjNDRGKi8P\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAICAQMBBgUDBQAAAAAAAAABAgMREiExQQQTIlFhcTKBkbHRweHwFCMzQqH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAocFPVx3Cpnlq+0p5ABFDw44Mc91MRMkNZwEREJCKsuWobbapOyqZ\/wCLjPZsGXfsPVedv1RarjK2KOo7OV\/5WSjhLt8YHTPhzVtMsZwZO6tS06lkt0ReVTUR0lNLUzO4Y4mlzj4BVNG8LLPVRJ7pb6Uhs9ZAxx5NLxk+izkIu2rHOlfM6htnEQ0Rn5pMbEePny2VlTaPstMBmndM4fzSPJPtgey00xXLOZW2Wb1x283+C8XlHUwyyPjjlY57CQ5oO49F6r5perfX2K8Pqo3TAcXaQ1DTnnzBPrjf9VEIKW2Se0XulKWMrqfS0VXZb3T3S3xTGWNk2MSM4hkO67L1rr5bbewmoq4wR\/I08Tj6BRpecGqtg4687E9Flvxi+X13DZ6X4OmJ\/wAzONz5dPpnzWiooZqejiiqJzUStGHSEY4ijjjkrXarH4U8eZ7oiKpsEREAREQBERAEREAREQBERAEREARFEuNJLW0wihrJKR4eHdpHzwOiIiTaWUsktFwNhjOfFcoSEREARFwXAEAkAnkO9Acqp1LcZLXZZZ4DiVxDGO7iev0BVsqDWcM82n5Oxa1zWPDpARvwjqPXHplWhhyWTHtDaqk484O1g09Db4RU1OKitlHE+R\/zcOegz9+qi63pacWVs4jY2WOVvA5owd+f29lYaZuMdxskBbgPhaI5GjoQMe43VfrD\/GVFrtYP+Yn4nAdANs+5+i0We83OaxQ\/pfAuV9zRUrzJSwvdzcxpP0VRrCUxabqADgvLW9e8fsrsAAYAwAqPWMZk03OQM8Dmu58vmCpD4kdF+VTL2ZZWuIQWmkiaAAyFg28gpaiWqQS2ijkBzxQMO\/8AtClqr5NIY0rAUS5\/DC3TyVcUckUbC8tkbkbBS1mtWVjphBZKV4M9W8CTBGWs\/v8AYHvUxWWUumoVtlbpzStDcrO2prBKJHvcAWuxgA4+4KvaPSVmo3h4pjM8HIMzuL25eytKSmZR0kVNGAGRMDRgdwXsrSsk3yZ1dlqhFZisnAAAwBgBcoizOoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqy8X6ks0Q7U9pM78kLD8x\/ZeWo722z0J7Mh1XLtCzn6kdw+6pbe6y2oi5XSuZU3KQcZw7tDGT0GM7+J9FpGG2Wcl1+Hoi0n1b6fuezI9TX88ckv4VSuGzQPnI+\/2VbS22JupKantNTPPJTu4qmocflHIEDHhkdc8lZSV141P\/AArdE+hoD+aofs549PsPqtBa7XS2mkFPTMA6vd1ee8q7lpX6HPGlWyTWWvN9fYmLq9jZI3RvaHNcCHA9QuyLA9MwdFI7SOp5KWZx+DqMDjPLh\/ld6bg+qtbkRNr21RndrYC8EHrh5\/QKZqq0Nulqe9jM1EAL4yOZHUeo98LI6cuT36koH1khfwM7CMnfGQQ0fU4XSvEtXU8eeaZql\/C2mvruj6So9dStrqGelfsJWFue7I5qQi5j12k1hmb0hWubTy2ipb2dRSOIax3Mtz74OfZW91utNaKN1RUO8GMHN57gqrU1rotrsaw0NVCMtlG\/GRyGOp8vdUFNbNQaiMFfK9nAwBsbp+WAOYbg53HqVvpjLxM8922UruUsvp7eppKvU0dHZoayanMdTUN\/h0rnZdnoT4LppyzzxSy3a5b11Vvwkf8ALHd58vLku9q0xFST\/GV0z62sP88hy0eQ\/f2V6qNpLETauuc2p29OF+r9fsERFmdYREQBERAEREAREQBERAEREAREQBERAQay8UdDW09HO9zZaggM+Xbfbc+f3U5ZLX1G99HTVrM\/wHlrsdA7kfqPdaCz1bq+0UtU\/wDPJGOLz5H3Cu4rSmjnha3dKuXTdE1R6+tjt9HJUyguawbNbzceQA8VIUC8WiG80fw0z3MAPE1zQMg+qqsZ3NZ6tL08njabpXXCaT4i2PpYeHijkc7PFvtt5L3u9NU1VF2dLWGjcHcTpR0AB\/sqi2XS4225MtN5PadqcU9QB+fzP0U\/U9X8Hp6qeCQ57ezbj\/y2+2VdrxLBzxsTpk5N7c9H\/wAMxp+wDUDZq241NTJG13BG4u+Z3U5Jz3\/XK09Jpiz0eCyiY9w6y\/P9\/JemnqQUVipIuENcYw93mdzn6qySc228Mjs\/ZoRgm1ucAADAGAFyiLM7AiKgvepG00n4fbf8RcXuDWtAy1hzvnx+3VSotvCM7LI1xzIv18z1PbPwm+FzGlsEx7WPhOMb7gHpg\/ovpEHamnjM4Al4BxgcuLG\/uq+\/2Zt6oOw7Ts5GO4muxnzGFeuWmRz9rp76vblcFRT3TUdui4aq3\/icfCDHNATlwPLkDnbwC7SXPU9yZ2dHaxQhxwZJTu0euPsVoLfSuorfBSuk7QwsDOLGMgclJRzWeCY0TcUnN4+X3M5R6SjMzKq7VctfUN3w5x4B+p+3gtE1oa0NaAABgAdFyiq5N8m9dUK1iKCIiqaBERAEREARVlXfqCgucdBUydm+RnGJHY4BudienJWTXBzQ5pBBGQR1UtNFYzjJtJ8HKIigsF5VFRDSQOnqJGxxsGS5xXqsgITq6+VAnkkbbqJwa2Nuwkdv\/f07laMc8mNtjhhRWW+C0tF8qbxXSGGiLLewECd\/N7tsYH17+nJXa84YY6eFkMLAyNgw1rRsAo1zu9HaIO1q5OHJw1jd3O8gj3eyJjmuGbJE1FlGV2pryXPpImW2mxs+Ybnx3B9gFDqxVU44qnV7WyY3ZFl2+\/QH9ArKv1MH2pYyovHyX3Nui+e0er7pSVAiLxcYgercOI8x+ueavKXXVsmk4Jo5oM4w4jib6439lLqkhDttM+Xj3NMi8oKmGqi7WnlZKzJHE05GQvVZHWmnuiFeYmz2WtjeAQYH8xyIBIP1Wa0NeS9rrVMR8gL4T1x1H6\/VaO+ztprHWyu\/0XNHmRge5CztHp6Sp0xQ1NMTBcIgZI3g448uJAPodvPxW0caGmcN2tXqUOUt\/VZNiipLBf23JppKodlXw7SRnbix1Cu1k008M7K7I2R1RM9rWmilsD6h20lO9royOe5AI9\/Zel2ppb3pNhDSZ3xMma1h5uwDj3Kr7pUnU13itFE\/ipIXcdTKBsSOmc7jp5+S1bGNjY1jBhrQAB3BaNuKXmcsYq2c2vhax7sqdP3ymulHHH2gZVRtDZInEBxIG5A6hXCpbnpa3XGf4nhfT1GeIyRHHEfEfqMFQv8Ahi7x7Rakqcdzg7b\/ANlGIvdPBdSugsSjn1T\/ACadV1wvtttjXfE1TONv\/SYeJ\/06eqqTpGqqHZrb7VTNP8gz6cyfsptv0naLeS4QfEP\/AKqjD8emMeyYguWNd8tlHHu\/0RWuuN71IDDboDQUpJDp5MgkeB7+fL6q5s9horNDwwN45SPnmcPmd+w8FZAADAGAFyoctsLZF4UJS1yeX\/OAiIqG4REQBERAEREAREQBERARLhbKS6U\/YVkIkaDlpzgtPeCs2Dd9JPwQ+4WzBxjYxD9PsfBa9cOaHNLXAEEYIPVXjLGz4MLKVJ6ovEvP+ckW33OkulP29HMJGg4cMYLT3EKWs9X6Uj7Y1lolNDVAHAYS1hO3dyHlt4KNFqO52hzYb\/Qu4CcCpiA38SBt16Y8lOhP4Snfyhtaseq4\/Y1SzGhOH8IqQAA4VJyAD\/S3v9Vd0F1obmwuo6lkuBktBw4eY5qhsr\/wnVdwt0reBtW7tYT0PM4HofZEnpaIsku8rmntuvqapZa92G6Vd9bX0hgka1oDBPuGEDuxvvk9dytSirGTi8o2tqjbHTIy40rX1xY+73mWXBBMUWzRjuPL2VjR6Ws1EQ5lG2R4H5pTx+x29lbopc5MrHs1UXnGX67\/AHOscbImBkbGsaOQaMALLaZgglu16jbHG+lbMA1pGW5y7ln\/AO5Kw1Hexb4RR0x466p+SNrebc7cX7L30\/afwi1xwPOZXfNIc5wT0HgP371K2i2+pnLFl0Yr\/Xn8FJUwy6QuQq6bjda6h4E0WM9mfD9PotVTVMFZA2enlbLG8ZDmnIXaWKOaN0crA9jhgtcMgrPy6KoXEtgqKiCFxJdE1+RuPH9cplS55ChZU33ayvLjH7EW9VLtSXGG0W8mSnjfxVMzfyjyPXGT5nC1bGNjY1jBhrQAB3BRbda6O1QGGjiDATlx5l3mVMUSaey4NKq3Fuc+X\/MFReNOUl3e2ZznQ1LB8srOvdnv9j4qudpu9TsEFRfpHQEAOAzkjrutQiKclsJdnrk8tckO12ultNIKelZgc3OPN57ypiIqt53ZtGKisLgIiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAurmte0te0OaeYIyCuyICgrtH26pc6WlL6Kc8nQn5Qf9v7YVFc7RqSCSCZ3+OdTHMU8e8gxvg9Ty8VvEWkbJI5LOyVz429jO27WdtqY2Mq3Glnx84c08OeuD+6v4pop4xJDIyRh5OY4EH1VNeNKUF2c6YZp6l3ORm4J8R19lRw6NvVDMZKG5RRn+oOcwnzABU4hLh4Kd52mt4lHUvNG2e9kbC+RwY1oyXOOAFnLjqrtJPgrHEauqeDh4Hyt8R3\/ZUV3o782Zj702espGu+b4d44fPAG3qPBaTT9ysLoW09uLIHHYRybPcfXn9VOhRWeSvfytlo+D35+RzZNOMoZfj65\/xNwfkukJyGk937q9RFk228s7a641x0xCIiguEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVRc9M2u6ZfJB2Uv8AqRfKfXofVW6KU2uCk4RmsSWTKfAahsGX0NT+I0wOTDICXAbcuvU8vorWzagprwDG1roahgy+F\/Mb45qRdLtSWimM1TJv\/LGPzPPgFS2Skrbnevx+thbTN4OGGMDBcCMZPfsTz\/QLT4o5Zyf4rFCt581zheeehqERFkdwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARcEgDJOAFR1+rrbRvMMJfWTcgyEZGfP8AbKlRb4KTshWsyeC8JAGScALPXPVA7Y0Fmi+NrHbcTd2M9ev28eii\/h181Jh9yl+AoycinYPnI8f7\/RaC22qjtMHY0kQb\/U47ud5lXxGPO7OfVbbtFaV59fkiotmlz8SLheZjWVeQQ0nLWfv9lo0RVlJy5N66o1rEQiIqmgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBF1e8RsLyCQBk8LST9BushFeb9qKWSO2Mjo4WEB0jtzv4kd3cFaMWzG26NbS5b6I1s08NOwyTysiYObnuDR7qhrNYUrZTTWyCSvqDs0Rj5frzPoPVdINF0z5e3uVZPWyk5PEcA\/c+6vaSgo6BnBSU0cIxg8DcE+Z5lW8C9TP+\/Pyivq\/wAGeNnvd9dxXir+Epj\/ANtAdz59PrnyV3b7Nb7W3FJTNY4jBed3H1KnIqubexpCiEHq5fm+QiIqmwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXVrWsGGtDR3AYRFJHU7IiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "NOTARIA MARIA ELENA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "HEIDI CAVIERES",
    "correoContacto": "hcavieres@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:33",
    "ubicacionGPS": "LatLng(lat: -23.6617997, lng: -70.3999899)",
    "horaLlegada": "10:31",
    "horaDespacho": "10:32",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 10:33:50 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:33:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:33: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;
                

12/08/2026 10:33:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 10:33:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:12576383

[12/08/2026 10:33: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('12576383', 'TO3090', 1, 27729424, 0, NOW(), 
				'10:32', '10:31', '10:33', 14, 'asistencia remota', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786545230.png', '', null, 'COMPLETADO','LatLng(lat: -23.6617997, lng: -70.3999899)' )
				

12/08/2026 10:33:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                
[12/08/2026 10:33:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201452

12/08/2026 10:33:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201452'                    
				WHERE idllamado = 13763			
				
12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:33:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:33:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            
TO ENVIO: micorreo@miempresa.cl, hcavieres@gmail.com, donkhapone@outlook.com


12/08/2026 10:33:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:33:51 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:33:51 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:33: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;
                

[12/08/2026 10:33: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;
                

12/08/2026 10:33:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13763			
				
12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33: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


12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                
12/08/2026 10:33:50 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-kEPOvKb2i579ac41EkX.v2jpPTs3DSdIZa6VeTamzQNYhlGtFcl
12/08/2026 10:33:50 Detectado modo MULTIPART/FORM-DATA
12/08/2026 10:33:50 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786545230.png
12/08/2026 10:33:51 Envío correo: OK
------------------

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:33:53 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

[12/08/2026 10:33:53] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10:33:53 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13763
            GROUP BY l.idllamado;
            

[12/08/2026 10:33:53] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:33:53 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

[12/08/2026 10:33:53] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13763
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:34:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:34:18 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:34:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:34:18 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:34:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:18 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:34:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:35:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:35:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:35:05 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:35:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:35:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:35:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:35:06 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:35:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:35:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:35:06 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

[12/08/2026 10:35:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:35:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:35:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:48 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:42:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:48 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:42:48 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:42:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:42:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:42:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:49 - INPUT: {"rutTecnico":"21773342"}
[12/08/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;
                

12/08/2026 10:42:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:42:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                
[12/08/2026 10:42:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 10:42:52 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 10:42:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 10:42:52 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

)

12/08/2026 10:42:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42: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;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42: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;
                

12/08/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42: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;
                

12/08/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:42:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:42: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;
                

12/08/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:49:15 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10:49:15 - INPUT: {"rutTecnico":"19969062"}[12/08/2026 10:49:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[12/08/2026 10:49:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:49:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/08/2026
        )

)

12/08/2026 10:49:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/08/2026 10:49:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:51:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:51: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;
                

12/08/2026 10:51:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:51:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:51: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;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:51:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:51:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:51: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;
                

12/08/2026 10:51:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:51:37 - INPUT: {"rutTecnico":"21773342"}
12/08/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 = 13714
                and cs.estado_control = 1;
                

[12/08/2026 10:51: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;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:51:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:56:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:56:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:56:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:56:53 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:56:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:56:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:56:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:56:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:56:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:56:53 - INPUT: {"rutTecnico":"21773342"}
12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:56:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:56:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                
[12/08/2026 10:56: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 10:56:54 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 10:56:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 10:56:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => L8180
            [FechaLlamado] => 11/08/2026
        )

)

12/08/2026 10:56:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:56: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;
                

12/08/2026 10:56:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:57: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;
                

12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:04 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 10:57: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;
                

12/08/2026 10:57:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:57: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;
                

12/08/2026 10:57:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:04 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

[12/08/2026 10:57: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;
                

12/08/2026 10:57:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10:57:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

[12/08/2026 10:57: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;
                

[12/08/2026 10:57: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;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 10:57:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:57:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 10:57:22 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10: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;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:22 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10: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;
                

12/08/2026 10:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:22 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10: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;
                

12/08/2026 10:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:22 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10: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;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:57:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:57:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 10:57:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

[12/08/2026 10:57:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:57:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2554
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:57:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:57:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 10:57:55 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

[12/08/2026 10:57:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:55 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10:57:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/08/2026 10:57:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:57:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10:57:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 10:57:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 10:57:57 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 10: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;
                

12/08/2026 10:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:57 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 10: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;
                

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 10:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 10:57:59 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10: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 = 13702
                and cs.estado_control = 1;
                

[12/08/2026 10: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;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 10:57:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:57:59 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 10: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;
                

12/08/2026 10:57:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 10:58:00 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10:58:00 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 10:58:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 10:58:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:58:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:58:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:58:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 10:58:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 10:58:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 10:58:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 10:58:04 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10:58:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

[12/08/2026 10:58:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10:58:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10:58:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:58:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10:58:04 - INPUT: {"rutTecnico":"19969062"}
12/08/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 = 13759
                and cs.estado_control = 1;
                

[12/08/2026 10:58:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:58:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10:58:05 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 10:58:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:58:05 - INPUT: {"rutTecnico":"19969062"}
12/08/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 = 13759
                and cs.estado_control = 1;
                

[12/08/2026 10:58:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10:58:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10:58:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13759
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CORCHETES MES DE AGOSTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 16:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65093790
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2829
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 10:58:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DT1LW0x-XDX5B7z0qg8jdSnCsD0J.a8fqQ-wrnk3zRysNuACMkO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2554",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "13904",
    "contadorColor": "28115",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13714",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AMkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABBEAABAwMBBQQHBAgFBQAAAAABAAIDBAURBhIhMUFRE2GBkSIycaGxwfAUFVLRByMkQoKiwuEWJTQ30kdicnSE\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALhEAAgEDAgMGBgMBAAAAAAAAAAECAxEhEjETQVEEInGBwdEUIzJhoeEzYrGR\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAERUWob66hDKGiaZa+cgMY3fsDqe\/p5qUm3ZFKlSNOOqRJu2oKGzjZmcZJz6sMe9x9vRVQrdW3MNdTUkNBE7g+T1vEHJ\/lU2yabit5NXWEVNfIdp0rt+ye7PxV4r3jHbJgoVamZvSui9WZj7l1K7e6+hpPENBwuXwavt+Xx1MFewDOw4DPy+K1KKNb6E\/DR5Sa82UNDqqCScUlzhfb6r8Mvqn2H8\/Mq9BBGQcgqJcrXSXam7Crj2m5y1wOC09QVQW2rqNOXVtmuEm3Ry\/6Wc8ugPw7j3FTZSWCNc6TSqZT5+\/uatERZnUEREAREQBERAEREAREQBERAEREAREQFZfrsLRbnTNG3PIdiFnHacfy+uKiabsj6Njq+vzJX1HpOc7eWA8vb1USia7UGp5K9++jt7tiFpHF45+e\/yC1K0fdWk5Ka4s+I9lt7hERZnWEREAVferVFeLdJTPDRJjMTz+67l\/dWCKU7O6KyipRcXsyi0pcJam3uo6rIqqJ3ZyB3HHI\/LwV6stVNFp1zTztOzFcGbD9\/73D47PmtSrTWbrmY9nk9LhLeOPb8BERUOgIiIAiIgCIiAIiIAiIgCj11ZFQUUtVM4NZE3Jz7h5qQspepZL\/e47JTH9mgcH1MgBwCM7j8Pae5WjG7Ma1TRHG7wvEubDX1VztjayqhZEZHHYDM728jv8VZLiKJkMTIo2hrGNDWtHIDgF2oeXg0gmopN3ZxHFHE3ZjjawZzhowu0RQWCIiApq3UdPbbsKKtifFG9oLJ+LSfL371cNcHNDmkEEZBHNeFbQ09xpXU1VGJI3deIPUdCsxmt0bUND3SVdqkOMn1oj9eB7lokpLG5zSqTpSvPMevTx+xr0XjS1cFbTsqKaUSRPGWuC9lmdCaaujMa2PY09BWD1oakYJ3gZGeH8K06zGvd9lgaN5NS3A6+i5adXf0o56f88\/L1CIiodIREQBERAEREAREQBEXLnNY0ue4NaOJJwAgId6rxbLRUVW0A9rMR55uO4e9QdKWz7DamzysxU1X6yQnjg8Bv7t\/iu9R2ye+WuOCjliB7UPLnuOyQAeYB5kK4a0NaGtAAAwAOSve0bHPpcq2p7JY89z6iKuvV3js1GJ3RmaR7wyOJpwXlVSbdkbSkoRcpbFii5aSWAubskjeOi6UFgiIgC4lijmidFKwPY8Yc1wyCF2iAyT7dcdLTvqrW11XQvcXSUxO9ox9b\/ZlXtpvVHeIBJTSDbAy+I+sz66qwVDcNLU88\/2y3yuoasbw+P1Se8fXsK01KX1bnJw50nenldPb2I2sP19RaaIZJmqc4HQYH9S06xVFDcKjW8cFyqm1T6JhftMbsgAjdwA\/EDz6LapPCSHZ3rlOdrXdv+BERZnWEREARfCQBknAC+oAiIgCIiALwraZtZRTUzsYlYW7xkA8ivdEIaTVmZ7R9W99DNb58CaikLC3oMnd4HIWhWWwLXr3ONmK4RdwG1\/ct\/mWpV5736nP2ZvRoe8Xb2\/AWYh\/z\/Vjpz6VHa\/Rj6Ok6+Y\/lHVS9V3V1utfZw76mqPZxjGTjmce7xCl2G2C02mGmwO0xtykc3nj5cPBSu7G5E3xKqp8ll+i9SxREWZ1BERAEREAXEsrIYnyyODWMaXOceQHErtZrWFbK+Ons1JvqK1w2h0bn5n3Aq0VqdjKrU4cHI50jE+rnr71LjNVKWsGMYaDn8h4LTqPQUUVvoYaSH1Im7Oep5nxOSpCSd3cijT4dNRe\/qERFU2CIiAy2qjNWXS3WmKoMLZy5zyPIfPzUjSldM6Ge11jv2qifs7zxbyx3D4YXlV5l\/SHRBucQ0xLs94fw8wuaoC166p6k7orhH2bj\/3bhjzDPNb7x0\/a55t3Gq6v9rPwsvU1CIiwPSCIiAIiIDMa1b2MFDcWj06aoHlx+LQtLtt2NsuAbjOTu3Kr1PB2+naxucFrNsH2HKoK24S1emrTbaba7SuAjceJDWnZPvx4A5WqWqKOKdRUas31Sfnt7EqztfqDUEt4ma4UtMdilBJAJzx8uPeQtWo1voYbbQxUkDQGxtAJxjaPMnvKkqknd4N6NNwjnd5fiERFU2C8zNE2ZsJlYJXDLWFw2iOoC+yyshifLI4NYxpc5x5AcSs5YmuvF7qb9K09izMNICP3RxP1+I9FZK6bMp1NMoxW7\/w0yIiqakGilrKehllu74Gujc47cednYHM+\/wBypNOtN5u9Tf5oy1oPZU7TyGN58t3ieiakq5rncItPUD8Ok9KeQHc0YPonw3+S0lNTx0lNFTQt2Y4mhrR3BaPur7s44riVEuUfy\/0eqIizOwIslPAdSahrKCqqJoqakaAI4nY2jnjvGPcuZ4LlpJ7aiCeSstmQHxPOXRj5e0LTRyvk5PiXmWnurn+jXovCjq4K+ljqad4fHIMg\/I9691mdSaaujMf9RP8A5vkvbWlOX2UVTCWy0krZGuHEb8fMHwXjSky\/pDrMnHY0ox37mf8AJaCtphWUM9MTgSxuZnpkLVu0kzihDiU6kerYoqgVdDBUgACaNr8DlkZXus9o6pf93S26f0Z6KQsc3HAZ3e\/K0KpJWdjpoz101IIiKpqEREB5VUAqaSandwlY5h8RhUOh5nPsboX8YJnMA6DcfiStGsxpgfY75eLdJuf2nasHVuTv8nN81pHMWjmqYrQl4r19DToiLM6QiKh1JfJKFrKC3jtK+oOGtaMlg6+3p5qYpt2RnUqRpx1SImo6ya6V8WnqB4DnnankB3NAz6J+PkFo6SlioqWOmgbsxxN2WhV2n7ILRTF0rhLVzb5pOOTxxnnx481bq0mtlsZ0YSu6k93+F0Cr73dorNbn1L8Ok4Rxk423fW9T3ODWlziAAMknkslRB+qr+a+QO+7qI4ga4D0nbuI9\/kEir5exNeo4pRj9T29\/IsNL2qakppK6tcX1lZh7i4nIbjIBzz6\/2V8iKsnd3L06apxUUERFBoZi1HsdcXSFwIMkYeCefqn5+5aSWKOaJ0UrA9jxhzXDIIWavDha9XW+4OcGw1DTFIcc+GT3b2+RWoWk+TOXs+NUHyb\/ADkyNK52lL82hkkP3bWHMTnn1HfWAfaCtcq+92uO72ySmcBt42onH913JQtKXJ1XbDSzuP2qjPZyBx34zuPy8El3lqIp\/KqcPk8r1RFof9xLl\/6w+Ea06y+nx2+q71UDeGO7POe8j+lahRPct2bMW+rf+mWrybTrWlq\/SENe3sn4wBtcP+JWpVNqm2uuVlkbFntoD2seOJI4jyJ9y97BcfvSzQVLnZkxsyf+Q3Hz4+KmWYpkU+5VlDrlepZIiLM6giIgCy17JtOqqG6gHsZx2MxHDpv8CD\/CtSoV3tsd2t0tJIQC4ZY4jOy7kVaDs8mNeDnDu7rK8iaiyVLqWoskAo71R1BdF6LZmelt+eM89\/cu5tSXG6kU1lt80ZecGombgM+X1wVuHIz+Lp2+\/TmT77qAW7ZpKNn2ivl3MiaM7PeQPgudPWJ9AZK2ud2tfOcucTnYHQH65L0senobSDPK81FZIPTmdvx1A\/PirlQ2krRJhTlOXEqeS6fsIiKh0nEsTJonxSNDmPaWuaeYPELzpKOnoKdtPSxCKJvBo+t690S5Fle\/MIiISEREBSatojWWGUsBMkBErcDfu4+7Kl2O4C52inqckuLdl+eO0NxU8gEYIyCszZiLHqKpsrjiCp\/X035eQx\/CtFmNuhyz+XWU+Tw\/Hl7GnWYusf3FqCnu8Q2aaqPZ1YHAH8WPf4HqtOvCspIK6lfTVDA+N43g\/FVi7M1q09ccbrKM\/osGVtxriDioqCQ4j1uJ\/qWnUehoae3Uraamj2I25OOpPEqQknd3IoU3TpqLCyloDrFqqotR3U1YDLB0B448sjwC1azusKOV1FDcqbdPQv2wRx2d2fIgHzUw3s+ZTtCaSqLeOfLmaJFFttay426CsZuErM4zwPMeBypSo8HQmpK6CIiEnIc0uLQ4Fw4jO8LpRWW2mjuUtxYwiolYGPO0cEDHLwHkpSkhX5hERQSEREAREQBERAEREAREQBZ7VtBNLSw3Kkz9poXbY2RvLd2fLGfNaFfCARgjIKmL0u5nVpqpBxZFtdwiuluiq4juePSH4Xcx5qWslaidPaomtTzilrPTgzwB5D4jwC1qmas8FKFRzj3t1hhERVNwuXsbJG6N7Q5rgQ4HmF0iAy2nXSWi91VhlOYjmanceY6eXvBWpVBqi1z1MUVxocisojtN2eLm8SP7e3qp9lu0V5tzKpg2X+rIz8LvretJZWo5aL4cnSfl4fosERFmdQREQBERAEREAREQBERAEREAREQBERAUGrra6rtgq4Miooz2jCOOOfwz4KwstybdbXDVjG04YkA5OHFTiARgjIKyttb\/AId1NJbCcUdd6cBJ4O6fEeS0Xejbocs\/l1VPlLD8eT9DVoiLM6giIgCzrdP1Vuv7K61SsZTTP\/aYHHAA54+XT2LRIrKTRnOnGdr8giIqmgREQBERAEREAREQBERAEREAREQBERAFT6iszrrSNfA4sq6c7cLgcZPRXCKU2ndFJwU4uMtiHaZ6qptsUtbD2M5B2m57+PipiIjLRVkk3cIiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "CARMEN SORIA MUJICA",
    "correoContacto": "c.soria1971@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56226023504",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29590\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29590\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"29590\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"29590\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:58",
    "ubicacionGPS": "LatLng(lat: -22.085413, lng: -70.1951014)",
    "horaLlegada": "10:53",
    "horaDespacho": "10:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 10:58:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 10:58:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 10:58:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2554', 2, 21773342, 13904, NOW(), 
				'10:23', '10:53', '10:58', 10, 'insumo', -1, 
				'', '','1','28115',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786546716.png', '', null, 'COMPLETADO','LatLng(lat: -22.085413, lng: -70.1951014)' )
				
[12/08/2026 10:58:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201453
[12/08/2026 10:58:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201453', 'EPS-I302', 1)
				
[12/08/2026 10:58:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29590 and
				    IDproducto = 'EPS-I302'
				

12/08/2026 10:58:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [12/08/2026 10:58:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201453', 'EPS-I303', 1)
				
[12/08/2026 10:58:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29590 and
				    IDproducto = 'EPS-I303'
				

12/08/2026 10:58:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [12/08/2026 10:58:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201453', 'EPS-I304', 1)
				
[12/08/2026 10:58:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29590 and
				    IDproducto = 'EPS-I304'
				

12/08/2026 10:58:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [12/08/2026 10:58:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201453', 'EPS-I305', 1)
				
[12/08/2026 10:58:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29590 and
				    IDproducto = 'EPS-I305'
				

12/08/2026 10:58:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
12/08/2026 10:58:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201453'                    
				WHERE idllamado = 13714			
				TO ENVIO: micorreo@miempresa.cl, c.soria1971@gmail.com, donkhapone@outlook.com


12/08/2026 10:58:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13714			
				
12/08/2026 10:58:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                
12/08/2026 10:58:36 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-DT1LW0x-XDX5B7z0qg8jdSnCsD0J.a8fqQ-wrnk3zRysNuACMkO
12/08/2026 10:58:36 Detectado modo MULTIPART/FORM-DATA
12/08/2026 10:58:36 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786546716.png
12/08/2026 10:58:37 Envío correo: OK
------------------

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10:58:41 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:58: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;
                

12/08/2026 10:58:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10:58:41 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:58: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;
                

12/08/2026 10:58:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:58:41 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:58: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;
                

12/08/2026 10:58:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10:58:41 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:58: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;
                

12/08/2026 10:58:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13714
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10:58:42 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 10:58: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;
                

12/08/2026 10:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13714
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 10:58:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_Pyjoak7CXSG449yiGwn4g4jH1x02U6aRG4k4MZ9vr_1nVMWQkw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65093790",
    "serieinterna": "TO2829",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega corchetes\nFirmado por Ludy Araya",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13759",
    "observacion": "Entrega corchetes\nFirmado por Ludy Araya\nsin contador\ncerrado",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACXAM0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABBEAABAwMBBAUIBggHAAAAAAABAAIDBAURBhIhMUETUWFxgRQiIzKRobHBFTZicrLRJDNCU4LS4fAWNDVDc5Lx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAvEQACAgECBAQFAwUAAAAAAAAAAQIRAxIhBDFBUSIycdETYZGh4TOxwRQjQmKB\/9oADAMBAAIRAxEAPwD9mREQBERAEREBHra2C30rqmoeGRt5549gULT9dXXGkkqqyERMkfmFvPZwDx5hVs0ceodShhMrqS352sbmPkB4Z6xu8OrnpmtDWhrQAAMADkptJKupnhKWSepPwr7n1ERQNAREQBERAEREAREQBERAERVV5u77ZNRRxxskdUy7Gy7I3bskEdWV1Jt0iM5qEdTLVERcJBERAEREAREQBQL5UOpbJVzNfsObGQ12M4J3D4qeqbVrwzTVXk+sGgf9gpR3kirM6xyfyZ1pinZT2ClLWgOlZ0j3YwXE8z4K3UGys6OyULDxFOzPfshTklu2dxKscV8giIolgREQBERAEREAREQBERAFl7mfL9b26kG9tI0yu7Dx4eDfatQstpn9Ov12ufIv6Jmd5xn8mtVkNrZm4jxOEO7\/AG3NSiIqzSEREAREQBERAFRaz+rU\/wB5n4gr1UesWl2mqnAO4tJx94KcPMijiP0ZejLK2f6VSf8AAz8IUpQ7S8SWeie3gadn4Qpii+ZZDyoIiLhMIiIAiIgCIiAIiIAiIgId2qDSWmrqGnDo4XFp7cbveq\/R9N5PpyA4G1MXSHHacD3AKVqFwZYK0k49EQDnG87h71xpna\/w5RbYwej92Tj3Kf8Ah\/0zPfiF6fyWqIoN0vFFaYOkqpQCdzYxvc49yik3si+UlFXJ7E5cskZIMse1w+ycrJy\/Tmoml8u1arcGknjtvHdxO7uHevXQsOzQ1czA4RSTYjDieAHVw58R8lNwpXZnjxDlkUVHZ9fwalERVmoIiIAoF9hE9irYyM+gcQO0DI94Xpc7hDa6CSsnyWsG5o4uJ4ALwkqjXablqjC6HpaZ7th3EeaVJJ7MqySi04daPHSkxm03SEnJaHM9jiB7sK4VFoz6tQfef+Iq9SfmZzh3eGPogiIolwRcuc1gy5waO04XSAIiIAiIgCIiAIolJc6Otnmgp5g+SndsyNAPmnOPHgpaNUcUlJWmRLrSvrbVU0seztyxlrdrhnks3Q1upoKKKgpbSA6AbLpZTgHfkYG7G7vWvRTUqVUU5MOuWpSa6bGX+hNR1\/8An70IG59WnB+WOrtUu36RtdBL0rmvqZM5BmIIB7sfFXqI5y5HI8NjTtq389yj1fXNo7BM3axJUYiYOvPH3ZU6y0fkFmpaYjDmRjaH2jvPvJVJcx9L6xpLfkmGib00o7eP8vtK1K7LaKRHH48sp9tvcIiKs1BV9xvlBapY4quRzHSDLQGF2fYrBeUtLTzua6aCOQt9UvYDjuyuqupGeqvDzMwI5dV3qOaWF7bVTZLWvyOld3d\/uBWmqohLRzQ43Pjc3AHWML1DQ0YaAB1BfV1ysrx4tKd7t8zO6Hk29PBv7uVzfgfmtEsxoI4s07DucKk5H8LVp13J52Q4V3gj6BEWc1Bd5pJxZLW3pauYbMrgf1bTx38jjnyXIxbdFuTIscbZWagqp71WzspSRR2xjpHv4hzwDwI9nHrWk09UPqrDSTSHLyzBPXgkfJQZLRFaNIVdLGA6QwOMjwN73Y\/sBSdK\/Vqi+6fxFWSacdjJhjKOe5c2rf1\/gt0UC6XmitEQdVSYc71WDe49uOpZ6pvGoK+klraemFBRwxuftPOXP3HhkfADvUIwbNGTiIQdc32RsEUGzVr7haaerf60jd+7HAkfJe9ZWU9BTOqaqQRxs4k\/AdajTui1TTjq6Hus\/qDU1HQUk1PT1AfWOaWtEe\/YPWTywoBnuurpC2lc+gtYJBefWk9nHu4d67m0lHTXK2GiptuGJ+1USveCTggjIJ+AVkYxT8RjyZsuSL+Etu\/sv5LPS9rFss0QcPTTDpJDnmeA8BhXKIq27ds144KEVFdAiIuEwuXvbGxz3nDWgknqC6VLq2r8k07UYOHTYibv454+7K7FW6IZJ6IOXYh6PY6qdX3iUYfVzENGeDRv+ePBaZQLHSeRWWkp8YLYgXD7R3n3kqeuzdyZDBDRjSfMIiKJcF8JAGScAKHdLpTWmjdUVDvuMB3vPUFnoaG76oJnuM0lDQOwWQR8Xj++Z9imo2rfIoyZtL0RVvt7mmpq6lrDIKaojm6M4fsOzgqQolvtlJa6foKOERtJy45yXHrJUtRdXsWw1afFzMxpP0FyvNHwbHUZaOzLh8gtOsxYhs6uvLRuBIOO3K06lk8xRwv6ddm\/3Id2uDLXbJqx+CWN81p\/aceA9qqtI298VE+51XnVVcdsuI37PL28fZ1KNfmuvmoqSysJ6GD01Rjq\/wDDj+JalrQ1oa0AADAA5Lr8Ma7nI\/3Mzl0jsvXr7HlWQ+U0U8H72NzOGeIwshbK68w2+OzUFE5tRG57XTSABrBtceo4zv4raouRlSqieTDrkpJ10KC1aXZTVPl1xnNbWHftP9Vp7M8Vb3CnFVbqinIz0kTm+0KQi45Nu2SjihCOmKMlYdSW636fiiq5tmWIuaIw0lx354cuPPC6pqGr1RWCuukT4KGI+hpiSC7tP5q\/FptwqXVPkUJmcdovLATnOc71MUnNc1zKI8PNpRyO0unf1OWMZGwMjaGNaMBrRgBdIirNgREQBERAFl9THy++Wuz4yxz+mkHWBnw4By1CzFu\/TNdXCoJ82mjEbR1HcPk5Thtb7Gbid1GHdr3NOiIoGkKtu99obNFmok2pSPNiZvcfyHavK\/Xl1rijhpoxNW1B2YY+Pifaotk026CU3C7OFTXSHa847Qj\/AK\/DkpqKq5GbJkk5fDx8+r6L8ke22qsvVwZeLywMYw+gp+WOWR1c+3uWpRFyUrLMWJY183zYREUS0zFj+uF58Pir+vrYrfQzVc3qRN2sdZ5DxOAqDTPnagvzyd4nA3fef+S4u4rNR3T6IijfBRU79qecj1iOr++3krmrluYMeRww3Hm26+rPfSFLI+nmu9Tk1Fa8uyd3m57+GVo1xFEyGJkUbQ1jGhrWjkBwC7Vcnbs14sfw4KIREUSwIiIAiIgCIiAIiIAiIgPKpnZS0stRJ6kTC93cBlZ\/RUL3UFTcJf1lZMXE794H9S5e2sqp8FjMEQzJVSNia0DJPM4HhjxVtbqUUNup6Uf7UYae043+9Wcoepmfjzr\/AFX3f4JKIirNJmGNdcNfSGQEx0EHmZG7JA\/mPsWnRFKTsqx49F783YREUS0Ii8K2fyWhqKj91E5\/sGUON0rZn9HjpKq71Dj58lT53VxcfmVpsAZwOPFUGioXMsAmcS508r35JyeOPkVoFPJ5mUcKqwx+v13CIigaAiIgCIiAIiIAiIgCIiAIih3a4MtdsmrH4JY3zWn9px4D2rqV7HJSUU2ygqdi+a1ip9kup7a0uf1F+754HbgrVqg0hQuprR5VK309Y7pXO5kcvmfFX6lN70uhn4eL063zlv7fYIiKBpCIiAIi+EgDJOAEB9VBrCvbBaTRMIdUVZEbGZ34zvPy8UueraGkzDRny2qJ2WxxZIz38\/BcWeyVcta28XmQSVWPRx4\/VDf4czu5dasjHT4pGTLk+JeLHu3zfb8lvaqPyC101LzijAd38\/epaIq27NUUopJBERDoREQBERAEREAREQBERAFk7s52pL\/HaYH\/AKJSHbqXAkZIOCO8cPE9SvrzJVx2moNDE6SoLdlgbxBO7PhxUbTtn+iLfiUZqpvOndnOTvwPDPxVkfCtRmzJ5JLH05v2LZrQ1oa0AADAA5L6iKs0hERAFy\/b2HdHjbwdna4Z7URAZvynWTCWeQ0cn29ofzD4Ll1kvd6LfpiuFPT4309Pz7+XbzRFPX2Rm\/pk9pSbXqXVvs1vtbcUlM1jiMF53uPiVORFFtvmXxioqoqgiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "COLEGIO NUESTRA SEÑORA DE AYQUINA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "SEÑORA DE AYQUINA",
    "correoContacto": "cgarepresentantelegal@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CORCHETES MES DE AGOSTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"29612\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:58",
    "ubicacionGPS": "LatLng(lat: -22.462014, lng: -68.9276498)",
    "horaLlegada": "10:54",
    "horaDespacho": "15:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 10:58:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 10:58:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65093790

[12/08/2026 10:58: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('65093790', 'TO2829', 1, 19969062, 0, NOW(), 
				'15:58', '10:54', '10:58', 10, 'Entrega corchetes
Firmado por Ludy Araya', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786546736.png', 'Entrega corchetes
Firmado por Ludy Araya
sin contador
cerrado', null, 'COMPLETADO','LatLng(lat: -22.462014, lng: -68.9276498)' )
				
[12/08/2026 10:58:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201454
[12/08/2026 10:58:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201454', 'TOS-I1056', 1)
				
[12/08/2026 10:58:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29612 and
				    IDproducto = 'TOS-I1056'
				

12/08/2026 10:58:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1056';
                
12/08/2026 10:58:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201454'                    
				WHERE idllamado = 13759			
				TO ENVIO: micorreo@miempresa.cl, cgarepresentantelegal@gmail.com, donkhapone@outlook.com


12/08/2026 10:58:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13759			
				
12/08/2026 10:58: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

12/08/2026 10:58:56 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-_Pyjoak7CXSG449yiGwn4g4jH1x02U6aRG4k4MZ9vr_1nVMWQkw
12/08/2026 10:58:56 Detectado modo MULTIPART/FORM-DATA
12/08/2026 10:58:56 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786546736.png
12/08/2026 10:58:57 Envío correo: OK
------------------

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10:59:00 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

[12/08/2026 10:59:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:59:00 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 10:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/08/2026 10:59:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10:59:00 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 10:59:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 10:59:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13759
            GROUP BY l.idllamado;
            

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 10: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 = 13759
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:00 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[12/08/2026 11:06:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:00 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06:00 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[12/08/2026 11:06:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:06:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:05 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/08/2026 11:06:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06: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;
                

12/08/2026 11:06:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06: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;
                

12/08/2026 11:06:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:08 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06:08 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06: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;
                

[12/08/2026 11:06: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;
                

12/08/2026 11:06:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:08 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:06: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;
                

12/08/2026 11:06:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:06:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:06:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:06:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:06:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:06:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:06:30 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11:06:30 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11:06:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:06:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:06:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:06:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:30 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11:06:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:06:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:06:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:09:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:09:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:09:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:09:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:09:53 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:09:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:09:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:09:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:09:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:09:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:09:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:09:54 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:09:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:09:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:09:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:09:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:09:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:10:10 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:10:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:10:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:10:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:10:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:10:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:10:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

[12/08/2026 11:10:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:10:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:10:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13764
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2965
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:10:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:10:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:10:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:11:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:11:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:11:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:11:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:12:21 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11: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;
                

12/08/2026 11:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:12:21 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

[12/08/2026 11: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;
                

12/08/2026 11:12:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:12:21 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11: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;
                

12/08/2026 11:12:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 11:12:22 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:22 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[12/08/2026 11:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:22 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[12/08/2026 11:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 11:12:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EE1w1h2O5WvRLFn4BHh8197GYxoaKIXby85DcGFBjk613OKrXqT
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2965",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "41758",
    "contadorColor": "201192",
    "contadorScanner": "0",
    "detalle": "configuracion y conoxion de scaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13764",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAJcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMHAgH\/xAA9EAABAwMCAwUGBQIDCQAAAAABAgMEAAURBiESMVETQWGBkRQiMnGhsRUjQsHRJPAHcuEzUmKCkqKy0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAwcDBAMAAAAAAAAAAQIDEQQSITFBUbETIjJhcaHRFCPwM0KB4QXB8f\/aAAwDAQACEQMRAD8A9Nt13kTL9PgOIbDUbHAUg8R+e9XNZiynh1neEEbkBXlkfzWnqc1ZmfDycotvm+opSlQNApSlAKVR6hvT8FbECA2HJss4QTyRuBkjv7\/SobsrVNq4pMptibHAKloa+JI3PQcuuDU1BtXM8sRGMmrN23stjUUqHa7kxdoKJbGQlWxSeaT3g1MqLVi+MlJXWwpSlcOilKUApSlAKUpQClKUBmIf5P8AiDNRjAejg8+Zwn+DWnrJ3l9q1a0hT5B4GFsFK14JwfeHd801qGXm5DCHmVhbbiQpKh3g1ZPgzLh2k5x4pv3OlKUqs1ClKUBlrTm4a1uMtW6Yg7JG3I5x+yvWtTWY0aeJd0WfiVKOT61p6nU8VjNhf083Nt+5lISDp7VioKAEwrgOJsHklQzsPPbzFaus3rRlaLexcGdnYjyVcXQE\/wAhNaCO8mTGafR8LqAtPyIzXZapSOUe5OVPgtV6P+zpSlKrNQpSlAKUpQClKUApSlAZTX0btLdGk9zTpScDkFDn9BXXRUsmHIty18aojh4VY2KDyx5g+tW19hifZJUfGVFsqT\/mG4+orGWGZ7JdbdMyrs5KfZXscgoYSB6cBq+Pep2PMq\/axSnwf\/Pg9DpSlUHpilKUBmNGAj8TyMf1JrT1kbOh9q9X63svBh50lxpWAeHc4P8A3CtREbdZiNNPvds6hICnMY4j1qypvcyYV\/bUbbX6nC8xhMs8tggkqaVgDqBkfUCoOkJHtGnI+TlTZUg79Dt9MVdEAjBGQazWhSRaZDR37OSoA+Qri8DJS0xEXzTXQvpk2NAY7eU6G28gZPeelVsbV1lkuBAl9kTy7VJSPXlVTqq4RbhKiW9hRddalAOtFs\/LvG\/l1rRSrLbZqOB+EyrbAIQAR8iN67lSSzEe0qTnJU2rImpUFJCkkEEZBHfX7WRKpOjZo4lrkWmQvGScqaUf786+YWrYVvbWwp+bcfzCrt1ICcA8hufvinZt6ofVQTtPR8TYUr4adQ80h1tQUhaQpKh3g8jX3VZrFKVnr5fXi\/8AhNnHbTnNlKTyaHfv1+1djFt2RXUqRpxuy3FyhquBgJkJMkJ4i2M5A+3lSoVi0+xZmy4VdrLcH5rp7+\/A8PvSkrX0FNzcbzVmW9efrtxUu8WZoYXHc9qjJHPA7uvwqHpXoFZa9E2vVtvuXJl8di6c4HTJ8iD5VZTdm0Z8XBOKb2v7PQt7BcfxSzMSVKy5jhc\/zDY+vPzqyrK2ZP4HqiTaSQmPJT2rGevT0Ch5VqqjNWehbh5uUO9utGUurJD8XT7zsZ5bKwpI4kHBwT17qs4LinoEd1XxLaSo\/MgVW6tTxaZmDONkn0WDUqxq4rDAOMf06B6JAp+w4m\/qGvJdWUtxP4XreHM4cNTUdks45q5f+tamqbVFtVcrM4Gs9sye1bx3kcx6V+2y+MvadbuMheChGHeWSoc\/XGfOuvvRT\/gjBqnUlF7PX5LisvpTDF3vUTPwv8Sd+7Kv9Kh3DWlxZCHWLe20w6MtKfBJWOuARUOz35EPUciVckhr2pACi0eJCScEHmdvXnU1Tkosz1MVSlVhZ7PqideG12HVke7IATFkqCXT3b7Kz5b\/ADFX16vsWzRe0cIW6sflNA7q8fAeNV+spMRzTYPaoUXlpUxg54t9yPLO\/wDNZ6zSG7bMan3qO+6lTafZ3yeJKRjbbrtjw6V1RzRTfAhOr2NSUIPR635XLdmwztQJcuF5WptS0ER46dg3kbHHd8vWoCJoX\/hy60obpfDIP\/MFfatA7rKxoaUpEsuKAyEJaWCrw3GKy6YDyLbarW8PemzC8UZ5JwlIO3hk12N34tCFVQj+m7tppvfeyRu7W2WbTDaJyUMITn5JFSq\/FKCUlSiAAMknurJzrrN1HLVbLNlEX4X5RG2PA9PqflVCi5M9GdSNKKW74Lmdrtf5M2Z+E2IcbxPC6+PhQO\/B\/f0qzsdjYssbhT+ZIXu66eaj0HhXa1WmLaIgjxkb\/rWR7yz1NTq7KStZbEadJ5u0qav2Xp8ilKVA0iqbVUAT7BIASC4yO1QemOf0zVzX4QCMEZBrqdnchUgpxcXxMVdHlXDT9vvzPvSoawHVJ25HfPnj\/qrYRZCJcRmS38DqAsZ6EZrMWptu3324aefTmNKBWyDywRuPT\/xqVpd5yE\/KsMlWXIqipkn9SD\/9B86tmrrT8RhoTcZ3fHR+q+UWWoEcen5w3\/2Kjt4DNctLr49Nwjt8BG3gSK+NR3aDCtsmNIfAeeZUlLad1HIxnw59\/Q1nLGi\/3K1Mw4TyYcJoqBfBwpRKiT49\/diuKN4EqlVRxGiu7bL1NVc79b7SCJD47XGQ0ndXpXnEie84xJQ032USTI7Ts85CSM7A+Y9BXoFs0vb7coPLSZUjmXXtznwHd9687gxXJy1x0OEEIUtKOYWoAnHzxmraWXWxjxrrPLm0vfRfJq7w1IuGiY82W22l1opWkNJI9w7d\/LmD5CqFlcW23J8GIZkNyOgrSTuhKwhWc42IJAztVtY7921sVaLmrhbfaU2w+s7ciOEnw7vLwrKoC3HQ02VEuEIA677D7VOCeqZRXqReWcd7e6LaGwi4WmbJmSy4qG1wRm1r3GTnOP7+lbiwMod01CbebStJaGUrTkGq22aLhJgsGegrkA8a8HABOPdPXGPvWmQhDbaW20hCEgBKUjAAHcBVFSaeiPRwmHlDvTXD8v0IqbTbUuBxNuihYOQoMpyD1ziqKKpF21i9L4kmLbWy2gk7BXInw\/Vv4ellqa6\/hNnccQrD7v5bXUE9\/kN\/SsnZI0i6xE2qCSzGyHJsjG6ieSR8gMY65NIJ5W2K9SKqRpxXnbp8lvLlydVTFW+3rLdubP58gfr8BWjgQI9tiIixUcDafVR6nqa\/YUKPb4qI0ZsIbQNh18T41IqEpX0WxqpUnF556yf5ZClKVAvFKUoBSlKAz2q4jiWmLxGT\/UQVhR\/4kZ3\/AL6ZqDqUKkQIuo7Y4ptaUcKlIOCEq2+hJHn4VrVoS42ptaQpKgQoHvFZSz4t9ymaZm5VHeBVHz3pIOR6fUGroPT06GCvTWa3CXs1sTrLYbSmImYxmSt9OQ86ASMjGw7q46FWTZXWlfE3IUCPIf61z0w67a7jK0\/KVkoPaMK\/3knnj7+tNJlMefeox90NSMgY2AyofsK7K9mQpOOam0rbp+v4iRq28KhQxBi+9LkgjhSMlKMHJ2+nn0rNwLWtWlTdWVdnJiyS4hadyUAJB9CM+vWu\/taX2bnqOQSlbgMeGk9xIxt8gfvV7BdY0\/o5p2Qjm3xFCua1K3A+voKl4I2RU7V6jlJ6WdvLk\/8AZke07dtVqisNuonOodY33YUdlD6Y37hmpMOLNsOo32YkZFwejNBSgU7gEJJKRnOQTjbuzVZwS7XLjTFsdkpRD7QOwIzn9q1mm5Tdw1TcprWyHGk4B8v4qyTsvIy0UpzSekr+2rJDOt4HvImx5EV1OMoKeL+\/Sv13WsFaOCCw\/JkLPC2gIwCo8s1oXGWngA62hYHLiSDWXvk9b8z8DsbSBIcGH3WwBwDvGRy8fTnWeOWT2PTqutTjdz9tepnExrpqa9Ft5zicHxq5pZTzx+2Otei2+BHtsNEWMgJQgb9VHvJ8a5Wm0x7PCTGYGTzWsjdZ6mp1cnPNotiWGw3ZLNLWTFKUqs2ClKUApSlAKUpQCqDVVscfjN3GGMS4R40kcykbkfv69av6V2Ls7ldSmqkXFmQuMn8WtEbUMAATIJy4gDOB+oHw7\/kTXPTUlu5326rQChMpriwP055\/U10kpOlL77UlJ\/C5p4XEjcIV8vUjwyKj2QxbPrSTDQsFp9PCyoHb3gFpHptWj9rseXdqrFy3vZ+ttH\/KJVr0lJaksifIC4sRZW00nkpRwcnwyO\/p418nOrNQ8+K2QT44dV\/r9h41O1Vcnm0s2iFn2uaQnIOChOcZ89x8gatLRbW7TbWojeCUjK1D9Su81Bydsz3NEaMHPso+Fb+fJEbUNkTebb2KCEPNHiZUeQPQ+B\/is1oZQj3mXGdBbdKMcCuYKTuPnW7rzaHNbRcpc2Olb9xffUIqEchxZyo9eewrtO7i4kcUo060KnE1F9vb3tAs9qHHOd2UoHZoY69celTbHY2LLG4U\/mSF7uunmo9B4Vx07Yvwllb8hXaTX93V5zjvwPPvq6quTSWVGmlTlJ9pU34Ll\/fMUpSoGkUpSgFKUoBSlKAUpSgFKUoCPNhMXCI5FkJ4m3Bg9R4jxrzCZEVarpIjSHiXmAC04jqMFPy93bwOK9XrAzbaL\/rmUw24A0kpLqgdwEhKVAeOdqvoyte+x5v+Qp5lFxXevYs9JIVdZcm+zFJW\/wAXZoSk7IGN9vP71q6wkSQvRN4diSR28aSEqDidiBkjOPXIqxuurUPcMOzOJW87jL6\/dS2D8\/35VycHKWmx2hXhSp2n4luuLZK1JqZq0tGPHIdlrHIHZvxPj4Vx0ZZ2Y1tRcFtgyHwcKJzwpztjpms8xamrhcW7fCd9qVxByXMKcgdQknu5\/M16I00hlpDTaQlCEhKUjuA5Ck7RjlQoZq1V1J7LY+6UpVJ6IpSlAKUpQClKUApSlAKUpQClKUBDuq5Ddqkqigl\/syGwnnxHYY8awGl7obdcHnvZXpbzyOBIRuSSQd\/SvS65NRY7DjjjLDba3TlxSEAFZ6kjnzPrVkZpJpoyVsPKpUjNStYwt+ZvV0hqudwjNxI0cAobOyzxED5+uPlV5F0nY5UCM8I6\/fbSvi7RWVZGd60DrTbzam3W0uIUMKSoZB8q+kpCUhKQAAMADuo6jtZaHI4SCm5S71+ZHg2+JbWOxiMJaT345q8Se+pNKVXua0klZClKUOilKUApSlAKUpQClKUB\/9k=",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:12",
    "ubicacionGPS": "LatLng(lat: -22.0892354, lng: -70.194527)",
    "horaLlegada": "11:09",
    "horaDespacho": "10:58",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 11:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 11:12:24] [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', 'EP2965', 1, 21773342, 41758, NOW(), 
				'10:58', '11:09', '11:12', 3, 'configuracion y conoxion de scaner', -1, 
				'', '','1','201192',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786547544.png', '', null, 'COMPLETADO','LatLng(lat: -22.0892354, lng: -70.194527)' )
				
[12/08/2026 11:12:24] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201455

12/08/2026 11:12:24 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201455'                    
				WHERE idllamado = 13764			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


12/08/2026 11:12:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13764			
				
12/08/2026 11:12: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

12/08/2026 11:12:24 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-EE1w1h2O5WvRLFn4BHh8197GYxoaKIXby85DcGFBjk613OKrXqT
12/08/2026 11:12:24 Detectado modo MULTIPART/FORM-DATA
12/08/2026 11:12:24 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786547544.png
12/08/2026 11:12:25 Envío correo: OK
------------------

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:12:26 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11:12: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;
                

12/08/2026 11:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11:12:26 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11:12: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;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11:12:26 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

[12/08/2026 11:12: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;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 11:12:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 11:12:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11: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;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:12:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11: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;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11:12:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11: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;
                

12/08/2026 11:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:12:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:12:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:28 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

[12/08/2026 11:12:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:12:29 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11: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;
                

12/08/2026 11:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:29 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11: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;
                

12/08/2026 11:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:12:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

[12/08/2026 11: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;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13764
            GROUP BY l.idllamado;
            

12/08/2026 11:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:29 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11: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;
                

12/08/2026 11:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13764
                and cs.estado_control = 1;
                

12/08/2026 11:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:57 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:12: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;
                

12/08/2026 11:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:57 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:12: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;
                

12/08/2026 11:12:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:12: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;
                

12/08/2026 11:12:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:12: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;
                

12/08/2026 11:12:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:12: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;
                

12/08/2026 11:12:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:58 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:12: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;
                

12/08/2026 11:12:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:12:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:13:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:13:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:01 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:13:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:13:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:03 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:03 - INPUT: {"rutTecnico":"21773342"}
12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:13:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:03 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:03 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:13:03 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:03 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:04 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:55 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:55 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:13:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:56 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:13:56 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:13: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;
                

12/08/2026 11:13:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:13:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:38 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:21:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

[12/08/2026 11:21: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;
                

12/08/2026 11:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:21:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:41 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:41 - INPUT: {"rutTecnico":"21773342"}
12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:21: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;
                

12/08/2026 11:21:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:42 - INPUT: {"rutTecnico":"21773342"}
12/08/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 = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:21: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;
                

12/08/2026 11:21:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:42 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:42 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/08/2026 11:21: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;
                

12/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:42 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:43 - INPUT: {"rutTecnico":"21773342"}
12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:21:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:43 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:43 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:43 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:43 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:21:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:21:44 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

[12/08/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;
                

12/08/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:21:46 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:46 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:46 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:21:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

[12/08/2026 11:21: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;
                

12/08/2026 11:21:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:21:46 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:21:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:21:46 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:21:46 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:21: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;
                

[12/08/2026 11:21: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;
                

12/08/2026 11:21:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:21:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:22:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:22:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:22:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:22:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:22:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:22:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:05 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:22:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:22:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

[12/08/2026 11:22:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA Y CONEXION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 11:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2516
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:22:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:22:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:23:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:23:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:23:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/08/2026 11:23:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wFKUl2Jd.rFb7oYYxxh+N8KRsGiWhFV5Zh9gKsL-WofU6IqeobA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2516",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "250578",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "m preventiva configuracion y conexion scaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13765",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLALkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xAA9EAABAwMBBQUGBAMIAwAAAAABAgMEAAURIQYSMUFhE1FxgZEUIjKhsdEVI8HwJEPhBxYzQlLC0vFykqL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQMCAwUIAwEBAAAAAAAAAQIDESExQQQSURMicaHRMmGBkbHB4fAUI2IzJP\/aAAwDAQACEQMRAD8A\/ZqUpQClK4LzdWrPbnJTmCrg2gn4lchXUruyIykopyeiF1vMKzs78pz3j8LadVK8qpU3Lai5ZdhwG4rJwUdtxI8\/tXuw2VctYvN4T2sp0hTaF8Gxy0\/ePGr+ZLZgRHJUhe602MqNTxHCyzKuequeT5Y+fxM\/v7ZNgrKISwkZ3SQM\/MfWo4m3UfeLc+Mplac5U2QtOa8MMXHa1wyJLq4tqJ9xlBwpwDP718qumdmrMyyWk29lQIIJWN5XqdR5VNuKxJfIqgq0u9Sbt\/rcrlbeWlOMNSleCE\/qqvI29tROOwljruJ\/5VzLbkbGzQ4jfftTyveHNs\/v1rWNOtSWEutLS404MhQ1BFckoLNsEqcq8205JNbW\/JTM7ZWR44VIW1p\/nbP6ZqzjXOBMx7NMZdJ5JWM+nGj1tgSBh6FHc\/8AJoGqqVsZaH8lppcZZ4KaWdD4HNQ7jLv\/AER6Py9S\/pWW\/C9pLOFKt9wE1kHPYvjJx3DP6EV02\/a2K\/I9jntKgywrdKV6pJ8eXn60cHqshcQr8s1yv3+poKUpUDSKUrypSUIK1qCUpGSScACgPVUN02shQXPZ4qTNknQIaOQD3E\/oK4Zdxn7TSVwLOrsoSdHpRyN7oPtz6Cry12WFaWgGGgXce+8oZWo+P6VZyqPtGTtJ1XalhdfQp0I2uuSA6Xo9uSdQ3u+956H619\/BtpkZKL8knuUnT6Vp6VznfQl\/GjvJv4szMW9XW2XBuFfm2yh47rUlvgT1x9hxrTVmdusm2RUNn85UpO5g4Pwq5+JFaakrWTFFyU5U272t5ilKVA0isvck\/i22UW3uJ3o8RvtXE44nGfTVNaisxs7h\/aa+SD8SHA2PDJH+0VOGLszcR3nCHV\/TJp6zO2JL67Zbu0WhMuRuqKe7Qf7q01ZrbJtbTUG4pQpQhvhSt0cASOfLUAeYpT9pDiv+L\/d8miaaQy0hptIShCQlKRyA4CvdRsPNyWG32lbzbiQpJ7wakqBoVrYI32GpLC2HkBbbg3VJPMVl7Ut\/Zq8izyVlcOUrMZw8j3euBjvINayqXam1m52hZbH58f8AMbxxOOI8x88VOD2ejM9eDt2kfaXn7i6pVbYLj+KWZiSo\/mYKV6594afPj51ZVFqzsXwkpxUluK4rjaYV0a3JTIUofC4NFp8DXbSidtDsoqSs0ZAO3bZFQS9mda8kJKfibHXTTw4eFaeFNj3CKiTGcC21jQ93Q9anUkKSUqAIIwQedZO42h\/Zx5V3syldkDl+MT7u706fMVPE\/EyNS4fKzHzX4NYpQSkqUQABkk8qyMqRI2tuRgw1LbtjJw88P856fp614kXOTtdIRbrfvx4m4FSXFDXw\/pz8K1UKFHt8VEaM2ENoGg7+p6123JrqG\/5LtH2Pr7vA+w4ceBGTGithttHAD6nvqelKqNaSSshXwkAZJwBUUmUxDYU\/JeQ02nipRxWWemT9rnVRIKFxbYk4cfUNXOn9PXuqUY38CqrWUMLLeiPTJVtPtMHwQq3W8+7zDitddR348gO+tbXNAgR7bERFjJIbR3nJJ7zXTSTvpoKNNwTctXqcybjDXOVBTIQZKU7xbB1A\/fKumqW\/WBN1SmTHcLE5kflOpOM9wP35VBYdoFvO\/hl1HY3Bv3dcfmfY\/XlXeW6uiPauM+SeL6P7eJoay9pULdtlcoS0ke2fnIVjQ8Vf7iPKtRWe2rt7y2mbrCH8VBVv6c0DU+OO7xpDo9znEJpKa1jn4bmhqN5luQytl1AWhYwpKhkGue1XJq7W9uWzpvDCk\/6VcxXZUcpl6anG60ZkQLhshIVuocm2pZJ0+Jn9B9D0rR2+5xLpH7eG8HEg4UMYKT3EV1KSFJKVAEEYIPOqGbspHU97Va3l26SOBa+A9McvLToandS11M6hUpf88x6ehf0rL\/iO1VuO7Ktzc5A\/mM8T6fapGNt7eVbkxiREXp8ScjHlr8q52ctsnVxVPSWPHBFs8BbNpLlaEjDRw62MnQf9KHpWprGu3WA\/txBmMy2\/Z\/ZyFuKO6AcL0OeHKtWibEcxuSWVZ4brgOa7UTumQ4WUeVxTwm7eGpPSvgUFDKSCO8UBB4HNVmw+1mto7o\/IfTY7USqU8cOrT\/LT48uvTxrr2iv7doibrKkuS3Duto446kfvWuGxm1WSO5Im3OO5Oke88oOBZHPGme\/zq2MbLmMdaopS7JO3V9PyzkSw5sZdGVha3bdJAQ6ojgvHH9R0zWySoKSFJIIIyCOdZW9bTWefEdt7SH5anRhPZIx73LGdeOOVVlmn7RSUIs0RbcdTCclTqMLSjrnPeOXdUnByV3hlMK8KM3CGU9LbPobmRJjxW+0kPNtJ71qAqikbWtPOez2aM5PfPMJKUJ8c\/vrXljY5lx0P3Wa\/PdB4KUQnHd3\/ADq9iQ40FkMxWEMoHJIxnx76h3F7zR\/fP\/K+b9DPs7NS7nJRMv8AK7UjURm9EJ6Z+3rWkaabYaS0yhLbaBhKUjAAr3SouTZbTpRp6a9dxSlKiWiqu9WKNeWk75LMhv8Aw30jVP3FWlK6m07ojOEZx5ZLBk273c9nnkxr42X45JDcpAyT46\/18a07L7MtgOsuIdaWNFJOQa+vMtyGVsvIC21jCkqGhFZqRYrjZHlS9n3CptRyuGs5B9Tr9etT7svczN\/ZR\/1HzXr9SCU1J2QuSpkVsu2uQodo0P5Z\/Tp6Hka1MSZHnxkSIzocbWNCPoe41U2vaKBe2lRJCQy+RuOMO4ws8wM8fDjXFMtdysEp24WUhyKo770VRz44\/pr41Jq+HhlcJdmuenmD26fvQ1VKq7RtBBvLf5C9x0cWVkBXiO8datKqaadmbYTjNc0XdCo3o7ElG4+y26n\/AErSFD51JSuEmr6mEvkC1wtqY7bkVIieyqdcaQSneICzyPQVzwNkJN2aE1KmYcd3VtGSsgfvrUu10lobTfmjKURezGO9QVqf\/ar\/AGNnIl2FtoH8yMShY6ZyD6fQ1qcpRgmjxYU6VTiJQkt39ind\/s9dS2SzcULXyC2ikeoJ+lZhLTEWTIYnoeK2t5ADSwMLBxrkHTwr9ZkyG4kZ2S8rdbaSVKPQV+Z3QLlyfxtyL2cSU8QlAVqrHH1wfPNKU5S1I8Zw9KlZ01n546l3s9sfGmW5Ey4KWS97yEIVgBPLPjxq9Y2TsjGCIQWRzcUVfLOK4ti5Di48xhKnXIrLv5DrgPvAk8PQHHWtNVU5S5mrm7hqNF0oyUUQx4caIndjR2mR3NoCfpWcv2bXtRbrmg7qH\/yXu4jPE+R\/+a1NZzbhCVWJLh4tvpUCOPMfrXIPvFnExtSbW2fkaOlRx3C7GacPFaAo+YqSqzSncUpSh0UpSgFKUoBSlKAqrvs9AvCSp5BQ9gYeRorTv7xVOX75stgSM3KAM++M7yBpxOuPDh1rVOo7RpbYUU7ySN5JwR1FZezXd21PuWe+LKShR7KQ4fdWDyJPLmCfDTFWxbatqYq8YRmmu63v6kj9utW0n8faZfs80HeLiMhWeqcjHiPnUbd6vFiUGr5GL7GcCU0M8xx+fHBr1crHBU77dZ7izAkjJJS7hC\/Q6Dw06VHC2yQhxyHeW20qQCC6z76F+Qz++6parGV5lDahK8nyt7rR+K\/fE0cG5w7k32kSQh0cwDqOHEeYrlvt8YskTtF++8vIab\/1HvPSshJjt3iYh\/Zy2yIykr954K3Eg9MaDyPlVdJVIt92kmWUS5DRKN9xZOFHgoA6nHyrqpK5ypxs1DT47HlMpU2cubcgpbMlXZuuhPwHTBGOYwNOYFd1slPbK3sdsQ5FeSMrRqlxB4LT4fcVCmVCcs0K1EqZcMrtJK3BhI0wNRk8DXu8MfhbSYLchqdGeBVHUFZU0SocMd4x0PGrnnB58bxXaJ5Wb+97F7cJP967u3a4i\/4Fghx91KtFjTQeuPHwq7uNhg3GA3DW32aGv8ItnG54cvWsjstem7NLMOS40Y0jCu1Sc7quWenjwr9ABBGQcg1nqXi0ketw3JWjKUst6\/ZFbZ7IxZQ+mO66pt0ghCyDukD9ftVnSlVNtu7NsIRguWOgrObbrJsrbCcFbz6UpTnjxP29av332ozK3n3EttoGVKUcAVmbf2m0u0H4m4hQt8M4jBQxvL01+WfSpwVnzdDPxLvHslrL9bNMy32TDbfHcSE+gqSlKrNSwKUpQClKUApSlAKUpQCuWdbYdya7OXHQ6MYBI1T4HiK6qUTscaUlZlAdirKVZ7F0Du7U4qdvZSyNoUgQUq3hglS1E\/XTyq4pUueXUpXD0VpFfIyTttu2zLipFpWZcLUrjL\/ljoM6+I9Krl+zbZbRtdmhUdpLX5pKgFqxngOfIcK0e014VbYSWI2TMkncaCeI6\/brVe1sUlNuZUiSuPck++p9Kide7j8xV0ZYu9TDVpNz7OnmKy19kdL9ksNitj0h+KHglI1dOVKI4AdxPSqazbIN3WGubIUuKl5W9HbbOd1OeedT01rkTc1XW5w418lNpjRFkFYSSl0gjievf3eNfoiNzcT2eNzA3d3hjpXJOUFrk7Sp0uIldRXKtvUxUn+z98Z9lnoUOIS6gpx5jP0qBc\/aLZZDcN4trZJw2tYKk+AOmPCt9UEuHHnx1R5TQdaVxSf3pXFVb9rJbLgoxzSfKzOM3Ta59lDrNthOtqGUrSsYUO\/469k7ZydN2HD66H\/lU9psk+zXQoYldpbFgns1nKkn98x6VoK5KSTwkSp0Zyj35ST8fwZlOy0yctKr1dHJKEqCuyb0Tn99K0TLLcdlDLKAhtAwlKRoBUlKg5N6minRhTzHUUpSolopSlAKUpQClKUApSlAKUpQCuC7XmJZ4xekryo\/A0D7yz0+9Vcvad6RIXCskJyVIQcKWtOEJ6\/94pa9m1rkm5XtQkzFHKUE5Q33acD9KsUbZkZZVnN8tLPv2XqeNn7XJlzXL7dUDtndWG1D\/DHfjlpwqfaq5vRYqIENJXLmZQlIGoTwJHX98quZctmDEclPq3W2xlRxms5s3Eeuc93aGegBbh3WEEaJGMZH09a6nd8z2K5R5IqjB5er+rLCJs1BasqLbIaQ9xUteMHfPEg8uQ8qqUuXHY95CZDi5lqUd0KA95ru\/fCtfXlaEOIKHEhaVDBSoZBqKm9y2XDxsnDDWn56kUOZHnxkyYrgcbXwI+h7qnrJTbZcdnZS7hZQXIijvPReOPAd3hqPCr+1XaLd4gkRl6\/50E+8g9xpKO60O06zb5Jq0vr4HdSlKgaBSlKAUpSgFKUoBSlKAUpSgFKUoBSlKAjbZaZBDTSG945O6kDNSUqp2ivItEDLeFSnjusIxnJ0yfLP0rqTbsQnKNOLk9EVV8ccv17asUdWGGSHJKwOBA4fMDxPStQ00hlpDTaQlCEhKUjkBwFVGzNnNqt++9rKkYW6SNRp8Plr5k1dVKbWi2KqEHmpPV+S2QpSlQNArM3XZ16NKVdrGstSQd5bI+FY548e6tNSpRk46FVSlGorMq7Je2bzHJA7OQ3o6yeKT9qtKz17sjwkC72g9nOb1UgcHR9\/rXbZL2zeY5IHZyG9HWTxSftXZRVrohTqSUuzqa7Pr+S0pSlQNApSlAKUpQClKUApSlAKUpQClKUAqi\/BZEraZVxnKQuOwB7KgE6HQ5I6HPnV7SuptaEJ04ztfYUpSuExSlKAUpSgFZbaOG5apre0EApQtKgmQgnAWDpk\/T0PGtTUUmMzMjrjyEBxpwYUk86lGVmVVqfaQtvt4n2O+iTHbfbIUhxIUkjuNSVGww1GYQwygIbbG6lI5CpKiWK9silKUOilKUApSlAf\/9k=",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA Y CONEXION",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:23",
    "ubicacionGPS": "LatLng(lat: -22.0891524, lng: -70.1945657)",
    "horaLlegada": "11:18",
    "horaDespacho": "11:12",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 11:23:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:23:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 11:23:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2516', 1, 21773342, 250578, NOW(), 
				'11:12', '11:18', '11:23', 3, 'm preventiva configuracion y conexion scaner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786548234.png', '', null, 'COMPLETADO','LatLng(lat: -22.0891524, lng: -70.1945657)' )
				
[12/08/2026 11:23:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201456

12/08/2026 11:23:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201456'                    
				WHERE idllamado = 13765			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


12/08/2026 11:23:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13765			
				
12/08/2026 11:23: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

12/08/2026 11:23:54 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-wFKUl2Jd.rFb7oYYxxh+N8KRsGiWhFV5Zh9gKsL-WofU6IqeobA
12/08/2026 11:23:54 Detectado modo MULTIPART/FORM-DATA
12/08/2026 11:23:54 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786548234.png
12/08/2026 11:23:55 Envío correo: OK
------------------

12/08/2026 11:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:24:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

[12/08/2026 11:24:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13765
            GROUP BY l.idllamado;
            

12/08/2026 11:24:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13765
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24: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;
                

12/08/2026 11:24:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24: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;
                

12/08/2026 11:24:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:39 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:24:39 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:24:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:24:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:24:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:24:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:12 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

[12/08/2026 11:29: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;
                

12/08/2026 11:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:12 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:13 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:19 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 11:29: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/08/2026 11:29:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 11:29:19 [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] => 12/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

)

12/08/2026 11:29:25 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:29:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:31 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:29: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;
                

12/08/2026 11:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:32 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:32 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:32 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:32 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:32 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:29: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;
                

12/08/2026 11:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:35:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:35:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:35:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:35:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:35:29 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:35:29 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13636
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 03/08/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:35:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/08/2026 11:36:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fGizGNSgb-asXf5T6tcWkhiTC+K6JFC23cVe+H7NLPsLujCBvKq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2863",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "15420",
    "contadorColor": "37841",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13636",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACmAOoDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCBwH\/xABFEAABAwMCAgYHBAcECwAAAAABAAIDBAURBiESMRNBUZGhsRQVImGBwdEjQnF0FjJFVaKy8DVSc4IHJDM0NkNiwtLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgIHBwQCAwAAAAAAAAABAgMREjEEEyEyQVGRFCJhcYGx0TPB4fAjUkKh8f\/aAAwDAQACEQMRAD8A+zLgXTUvQVYt9rg9NrSd2g+yztyev5L1q27erLQ5kZHT1OY2e4fePd4kLDomjihsTKkRNEs7nZf1kA4HlyWiilHEzkqVZSq6mDtxbMbaDVlY0vnuUNISdmMGcd31T1Xqqnw+G8Qzkblkjefh9FTooxvkW7NH+z6smYNUz0NSyjvtIad7tmzs3Y7fGcdnvHcqSORksbZI3texwy1zTkEe4rFV0dPX0z6epiEkbxuD5jsKm7ZJNpu8Ns9Q\/jo6jJp5D1Hc7+XcVNlJbMyFKdGSU3eL48vP5KtERZnUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQEFq6YV15mYH\/AGdBTZcBg+0SB5uaPgqrTsRh09QtIxmIO79\/mou+ScNfewcnjljb45+S+g0jOjo4GbezG0bfgt6myCR5mi96vOX7n+DMiIsD0wpjXfsWqmnaAJI6kcLscvZcfkO5U6ldWSesq2hsUA45HyiSUg\/qDBHkSe7tWlPeRy6X9FrmVSIizOoLTulFPX0Rgp6ySjeXA9LHnP4bELcRSnYiUVJWZMDTl8hz0OpJn\/4gPzJT1HqT9\/8A8JVOitrGc\/ZafC\/V\/JMeo9Sfv\/8AhKeo9Sfv\/wDhKp0TWMdlhzfVkx6i1C7IfqBwB62g5Q6WupOf0nq9\/c7\/AM1tWG61V2uFwkBaaGN4ZFtuT2g9mN\/iu6rOUouxSnRpVI4lfq\/k5Fns9ZbZ5JKm8T1rXN4QyQHDTnnuSuuiLNtt3Z0whGCtEIiKC5pG8W5tU6ldWwtmacFjnYwfitxrg5oc0ggjII61za3Ttqr3SPnpG9JIcukaSHZ\/Fcs6L9H4jbrtV0pO4Gc+WFe0XxOdyrxe6mvB\/JTopb0DV1EPsLjBVt\/uyDfxHzXo3fVEBInsccmOuJ3PxKYOTI7QlvRa9Pgp0Uv+mUsAJrbJV04HXufMBZY9c2d4y4VEfudGPkSmrlyC0qj\/AG+xRouDHrSyPOHVEjPe6J3yyuzT1EVXTsqIH8cUg4muxjIUOLWaNYVac91pmVERVND5jqL+1Ll+ZZ\/K5fTl8x1F\/aly\/Ms\/lcvpy3q5RPN0L6lTz+7CLzJIyKN0kj2sY0Zc5xwAPeVMVF8uF8qX0NhbwRNOJKx2wA35bbe7r\/BZRi2dtSrGnnm+HE3r7fxbyKKib09wlwGRgZ4c9Z+i\/bDYjbuOsq39PXz7ySE54fcF6sunaa0F0znmoq3545389+eOzzXYUtpK0TOFOUpaypnwXL8hERUOkIiIAiIgC0L5VmislXUA4c2Mhp952HiVvqe1tJwade3f7SVrfn8laCvJIxryw0pSXIz6SpBSadp9sOmzK7bGc8vDC7SwUUYhoaeIAAMia0Ae4LOok7tstSjggo8kERFBoEREBwtX18lFZuCB8jKiokayMxuIcN8nl+GPiuvSRvio4I5HOc9kbWuc85JIG5J6ypyvc28azpaEYfDQt6SQcxxbHf8AhH9YVSry2RSOak3OpOXDLpmERFQ6Qsb4IZDmSJjyf7zQVkRBa5rvt9FIwsfRwOaeYdECD4LM1rWMDGNDWtGAAMABekS5CSWQREQk+Y6m+zvVwiPN0zH\/AMJ+q+lyyshifLI4NYxpc5x6gOZXzTV\/\/FFZ\/k\/kavotwpfTbfUUvFwmWMtBzjmPwK3qZRPL0S6qVbcH92TEMNfrGYzVEvo1rjeQ2Jh9p5H9c+7rVVSUlPQ07aelibFE3k1v9bqe0pdWRRix1cfo1XTkhrTtx7579\/jzVOqVG724HToqi4485PP4CIizOsIiIAiIgCIiAKY137VqpouXHUjfs9l31VOpjWf7M\/Mj5K9PeRzaX9GRToiKh0hERAFiqaiOlppaiU4jiYXuPuAysqntZVEjbZFQwZMtbKIwB1js78K0Vd2M6s9XBy5HjRsL5qequs+8tbKTnH3Qfrnl2KkWrbo6enooqSnlZI2nYGEtIJyNt8e8FbSSd3cijDBTUQiIqmoREQBERAEREB811dC52qZ2jnL0eNv+kD5L6Uvn+qgRrCHI59FjvX0BbVN2J5+iK1Wr5\/JyL3p+C7hswcYauIfZzN2Puz8d1zI7\/cbE5tPfoHSsJwyqiwQRgd\/gfxVUvEsUc0bo5Y2yMcMOa4ZB+CopbLPI6J0duODs\/wDT8zzT1MFXCJqaZksZ5OYchZVO1GlTTzGqsdW+gn62ZJjd+I\/+j3LBHqW4WqYQX+hLGnPDURDLT8j\/AFspwX3SNe4bKqt48Px6lSi1aO5UVwBNJVRzYGSGu3H4jmFtLO1joTUldBERCQiIgCmNZ\/sz8yPkqdTGs\/2Z+ZHyV6e8jm0v6L\/eJToiKh0hERAFMf2rrrthtsX4e0fPc+HfQ1dSyjpJamQgMiYXHJ7AuJo6me23TV8w+1rpTIT2jq9\/MnvV47E2c1XvVIw9X6fk81WiqKSR01JU1FLK4k8TXcQ38fFYhT6qtIzFPHc4h915w\/A\/HfxP1qETG+O0PRqd7x2Pw\/bE3Sayp+mbT3OlmoJsbl7Tw58x3LvU1XT1kYkpp45mEZyxwKVNJT1kZjqYI5mEYw9oK4NRoylY4zWypmopsYbh3E36\/HOynuPwI\/nhykuj+CkRcmwvu\/RTQXeMccLgGSgj7QfD+t11lRqzsbwljjitYIiKC4REQEnf7VPV6tt8zIJHQkM6R7WEtbwuJOT1bKsRFZyukjKnSUJSkuIREVTULzJGyVhjkY17Hc2uGQV6RAT9Zo63zO6WjdJQzj9V8ROB8M+WFgYNUWhzWngulM3mf+Zj4kEnv+lOivjfHac70aF7w7r8P2xr0FTJV0UVRNTPppHjJifzbuthEVDdJpWYREQkKY1n+zPzI+Sp1zbvZ2Xc0vHMYxTyiTZueL3e5Wg0pXZhpEHOm4xzOkiIqm4REQE5rWZ\/qyChjPt1c7Wb9g38+Fd2kpmUdJFTRgBkTA0YHYFPXPhrNcWylILmU8ZlODyO5Hi1qp1eWyKRzUu9VnP06f8AQiIqHSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBNUjHv\/ANINc97SWspm8BI2GQz\/ANvFUqIrSdzOnTwX8W31CIiqaBERAEREAREQBERAEWhd6WtrKRsdBWeiyh4cX45jB28u5cf1HqT9\/wD8JVlFPiYzqSi7KLfQp0UwbVqyHeC9QybcpG\/VpTptZU25pqSqHXggfHmFODk0U7Q1nB9L+xTopcalvNNg1mn5uHGS6LO3gfNe4dcW1ziyphqKd4O4czPlv4Jq5BaVS4u3nsKVFzKfUdmqto7hCD2PPB\/NhdFj2SND2ODmnkWnIKq01mbxnGW67npERQWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxywxTt4ZYmSDse0FZEQZnJqdMWWpzx0EbCeuLLMd2y5z9EU0b+koK+qpX9odnHZywfFU6K6nJcTCWjUZZxRMeqdUURzS3hlS0fdnG57wfNPW2qKLaqszKkD70B3I+GfJU6Jj5or2e25Jr1v7kyzW9IwhlbQ1VM89RaCB29h8F0aXUtmqwOjr42k\/dk9g+K6b2MkaWPaHNPMOGQVzajTdmqs9JQRAnrjHB5YU3g+Aw6RHKSfmrex0mSMlbxRva9va05C9KZk0TTRv6Sgr6qkf2h2QOzsPivPoeraA5groK6McmS7E9\/1TDF5Ma6pHfg\/TaVCKW\/Si60QxcrFK0Y3kizw58R1dq2afWtmn2fJLB\/iRn\/tyo1cuQWlUnsbt57PcoEWrTXOgrMejVkMpPU14z3c1tKlrHQpKSumEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC1qm3UVZn0mkhlJ63xgnvWyiENJqzODU6Ms1QSWwyQE9cTz5HIWqNM3ahGbZfJAOfRzA8OfEeCqEV9ZIwei0m7pWfhs9iX9M1dQj7ahgrWAfrRkZ7gR5L9brWOF3DcbXV0jicbjOO\/Cp15c1r2lr2hzTzBGQVOJPNEampHdm\/Xacum1RZqoDhro4yeqXLMfE7LpxyxzMD4pGvaeTmnIWhU6es9Wcy2+HJOSWDgJ+LcLmSaIomv6SjrKqlfjGWuz9D4paD4jFpEc0n5bPcpUUx6p1RRb0t5ZUgfdnG5Hxz5rybrqqjOKm0R1DQP1ocknuJ8kwXyY7Rbei16X9ipRSw1uyA4r7VVUxzjHPzwt2DWNkmwDUuiJ6pIyPEbKHTkuBK0qi\/8vt7ncRadPd7dV\/7CugeewPGe5biq1Y3UlLamERFBIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB+EAjBGQVqz2q3VOenoaeQnrMYz3oim9iHFPNHOn0dZJskUzoieuOQjwOy1BoqKH\/c7pWQf5gfLCIrayXMwejUXtw\/YCy6lpz\/q9+EgGw6ZudviCqVocGAOPE4Dc4xkoiSd0iKMVGUkvdn\/2Q==",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I304\",\"id_control\":\"29591\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:36",
    "ubicacionGPS": "LatLng(lat: -22.0883971, lng: -70.1944611)",
    "horaLlegada": "11:28",
    "horaDespacho": "11:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 11:36:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 11:36:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 11:36:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2863', 2, 21773342, 15420, NOW(), 
				'11:23', '11:28', '11:36', 10, 'insumo', -1, 
				'', '','1','37841',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786548995.png', '', null, 'COMPLETADO','LatLng(lat: -22.0883971, lng: -70.1944611)' )
				
[12/08/2026 11:36:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201457
[12/08/2026 11:36:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201457', 'EPS-I304', 1)
				
[12/08/2026 11:36:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29591 and
				    IDproducto = 'EPS-I304'
				

12/08/2026 11:36:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
12/08/2026 11:36:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201457'                    
				WHERE idllamado = 13636			
				TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, donkhapone@outlook.com


12/08/2026 11:36:35 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13636			
				
12/08/2026 11:36:35 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


12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                
TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                
12/08/2026 11:36:35 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-fGizGNSgb-asXf5T6tcWkhiTC+K6JFC23cVe+H7NLPsLujCBvKq
12/08/2026 11:36:35 Detectado modo MULTIPART/FORM-DATA
12/08/2026 11:36:35 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786548995.png
12/08/2026 11:36:35 Envío correo: OK
------------------

12/08/2026 11:36:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:36:38] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:36:38] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:36:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:36:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:36:39 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:36:39 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:36:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

[12/08/2026 11:36:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:36:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11:36:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:36:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:36:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:36:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13636
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:36:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:36:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:36:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13636
                and cs.estado_control = 1;
                

12/08/2026 11:44:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:44:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:44:31 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 11:44: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;
                

12/08/2026 11:44:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:44:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:44:31 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

[12/08/2026 11:44: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;
                

12/08/2026 11:44:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:44:31 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

[12/08/2026 11:44: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;
                

12/08/2026 11:44:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13702
            GROUP BY l.idllamado;
            

12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 11:44:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 11:44:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13702
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:37 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

[12/08/2026 11:48: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;
                

12/08/2026 11:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:38 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[12/08/2026 11:48: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;
                

12/08/2026 11:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:38 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

[12/08/2026 11:48: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;
                

12/08/2026 11:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:49 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:49 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:49 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:48:49 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:49 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

[12/08/2026 11:48: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;
                

12/08/2026 11:48:49 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

[12/08/2026 11:48: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;
                

12/08/2026 11:48:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:48:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:48:50 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:48: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;
                

12/08/2026 11:48:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:48:50 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[12/08/2026 11:48: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;
                

12/08/2026 11:48:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                
[12/08/2026 11:49: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 = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 11:49:21 - INPUT: {"rutTecnico":"9291721"}[12/08/2026 11:49:21] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 11:49:21 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE TALTAL
            [ciudad] => TALTAL
            [RutCliente] => 69020500
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-5891
            [FechaLlamado] => 30/07/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-5891
            [FechaLlamado] => 29/07/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 29/07/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 29/07/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 29/07/2026
        )

)

12/08/2026 11:49:23 - INPUT: {"rutTecnico":"9291721"}
[12/08/2026 11:49: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;
                

12/08/2026 11:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13577
            GROUP BY l.idllamado;
            

12/08/2026 11:49:28 - INPUT: {"rutTecnico":"9291721"}
[12/08/2026 11:49: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;
                

12/08/2026 11:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:49:37 - INPUT: {"rutTecnico":"9291721"}
[12/08/2026 11:49: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;
                

12/08/2026 11:49:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13577
            GROUP BY l.idllamado;
            

12/08/2026 11:49: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13577
            GROUP BY l.idllamado;
            

12/08/2026 11:49:38 - INPUT: {"rutTecnico":"9291721"}
[12/08/2026 11:49: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;
                

12/08/2026 11:49:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:49:38 - INPUT: {"rutTecnico":"9291721"}
[12/08/2026 11:49: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;
                

12/08/2026 11:49:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13577
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 29/07/2026
            [HoraLlamado] => 16:54
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3033
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13577
            GROUP BY l.idllamado;
            

12/08/2026 11:49:58 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 11:49: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 = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/08/2026 11:49:58] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 11:49:58 [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] => 12/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

)

12/08/2026 11:49:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:49: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;
                

12/08/2026 11:49:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50:08 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50:08 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

[12/08/2026 11:50: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;
                

12/08/2026 11:50:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:50:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:50:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:50: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;
                

12/08/2026 11:50:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:50: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:50:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:51:14 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:51:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:51:14 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:51:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:51:15 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[12/08/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:51:15 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:51:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:51:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:51:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:51:15 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:51:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 11:53:48 - INPUT: {"rutTecnico":"21773342"}[12/08/2026 11:53: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;
                

12/08/2026 11:53:48 [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] => 12/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 11/08/2026
        )

)
[12/08/2026 11:53:48] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 11:53:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:53: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;
                

12/08/2026 11:53:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:18 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:18 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11: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;
                

[12/08/2026 11: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;
                

12/08/2026 11:54:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11: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;
                

12/08/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11: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;
                

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:19 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:19 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

[12/08/2026 11: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;
                

[12/08/2026 11: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;
                

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:20 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54: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;
                

12/08/2026 11:54:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:20 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54: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;
                

12/08/2026 11:54:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:25 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:25 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:25 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

[12/08/2026 11:54:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:54:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:26 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54: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;
                

[12/08/2026 11:54: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;
                

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54: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;
                

12/08/2026 11:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54: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;
                

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13090
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

[12/08/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:27 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13090
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:28 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54: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;
                

12/08/2026 11:54:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11: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 = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

[12/08/2026 11:54:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 11:54:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

[12/08/2026 11:54:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 11:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 11:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13680
            GROUP BY l.idllamado;
            

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 11:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13680
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:21 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 12:06:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

[12/08/2026 12:06: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;
                

12/08/2026 12:06:21 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

[12/08/2026 12:06: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;
                

12/08/2026 12:06:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:06:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:06:21 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:06: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;
                

12/08/2026 12:06:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:06:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:06:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:06:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:25 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:06:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:06:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:25 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:06:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:06:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:25:22 - INPUT: {"rutTecnico":"19969062"}[12/08/2026 12:25:22] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 12:25:22 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [RutCliente] => 65093790
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 10/08/2026
        )

)
[12/08/2026 12:25:22] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 12:25:23 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:25:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:25:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:25:27 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:25:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:25:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:25:33 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:25: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;
                

12/08/2026 12:25:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13753
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655idn
            [SerieInternaMaquina] => KY2607
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:25:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:25:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:25:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:25:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:26:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:26: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:26:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:26: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:27:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:27:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:27:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:27: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/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 = 13753
                and cs.estado_control = 1;
                

12/08/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 = 13753
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:31: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:31:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:31:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:31: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:32: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:32:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:32:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:33:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:33:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:33:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:34:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:34:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/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 = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:34:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 12:34:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BXjlGhhLm9oW0pgjeoKoWCPYGv2uKsbvnDf5A2aQrutohaPigqx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "16244783",
    "serieinterna": "KY2607",
    "correlativo": "4",
    "ddServicio": "Ciudad",
    "ubicacion": "Emilio Sotomayor 1953, Calama",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Notaría Cristobal Ly",
    "rutTecnico": "19969062",
    "contador": "36152",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se realiza instalación impresora kyocera\nFirmado por Maria Jose Bacian\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13753",
    "observacion": "Se realiza instalación impresora kyocera\nFirmado por Maria Jose Bacian",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKAY8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABJEAABAwMBBQIKBggEBAcAAAAAAQIDBAURBhIhMUFRExYUFSIyYXGBkbHRUlWhweHwIzNCVGJykpMkNFPSQ0RWoiZjc4Ky4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAzEQACAQIEAwYEBgMBAAAAAAAAAQIDERIhMVEEQZETFCJhcaEygdHhIyRCUsHwM1OxYv\/aAAwDAQACEQMRAD8A+zAAAAAAGOBy3G50trplnqpEanJvNy+griJedUu2tp1Bb+WPOkT7\/gXjG+b0MKlZReFK72Ja4aotdvV0azdtM3\/hxJtL7+CEel41JcUzb7UyCNeEky78dd+PgpK2ywW61NRYIUdLzlfvd+BJk3itEU7OtP45W8l9SsJbNVyor5LxDG5d6Na3d\/8AE8vr9TWfy66njrqdOL4uKJ13J9xaTCoiphUyijHuie72+GTT9bnNb7hT3OkZU07tpjuKc0Xop1FYsieLtT3C2tTEcn6ZjU4J+clnKyVnkXozc43eqyYABU2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG3q9QWel23+VK7dHGnFynq83eG0UTpn4dIu6OPO9ykPZbNPXVPji7+XK7fFEvBici8Yq13oc1WpK\/Z09f8AgtVlqbnUJdL35bl3xQLwanpQs6IjUREREROCIZBEpORpSpRpqy6gAFTUAGmsqG0lHLUPXdGxXAhuyuyvWt3hes7hUJvbCzs8\/n1FnK5o2F\/gE9bInl1UquyvQsZep8Vjn4Zfh4nzu+oABQ6QAAAAAAAAAAAAAAAAAACL1FcPFtmnma7ZkVNli+lSuUlTcamggs9JOr55k7SeZXZWNq8sl4wbVzmqcQoTwWuy01V5t1EuJ6uNq9M5U4H6ysrFx4Q9fVGqnqj0naqVqLJD4RJxV8i5ypJNt9E1MJSQIn\/poPAh+Yey9\/oRC6zta5WNJn+qNUNsGr7NO9GeEOYq4Ty2KiEs2lp2+bBGnqYhpntVvqG7MtHC5P5EQXhsMNdfqXT7m+GeKojSSGRsjF5tXKGwq2l2+D3q50dM5XUUbvJz+y7859xaSJKzsaUajqQxMAAqagAAAAAAAAAAAAAAAAAAAAA5LncYLXQvqp13N4JzcvQ6XOaxqucqI1EyqryKrTxu1VeX1MyO8W0rtmNudz3IXir5vQwrVHFKMfien1Ntptk94qm3m7JuXfBByanJSzBERqIiJhE4IZIlK7LUqapq3PmwACpqAAACuayqlbQR0ESr2tW9GoiJyLGVWlzedYy1O010FAmy30qXhrfY5uJbcVBayy+pYqCmbR0MNO1MJGxEOgAodCSSsgAASAAAAAAAAAAAAAAAADmuFbHbqCarl82JucdV5J7xqQ2krsqWtbkySsgoE8psC9pLv58k\/PUmNKW9aagWrl\/XVS7e9ODeSFPtdNNqC7KxyrtSv7Wd6J5rc8Pz6D6YxqMY1jUw1qYRDep4YqJ5vCp1qsqz05HoAGB6YIy\/3Vlptkkyr+keitiTq7G47554qaB808iRxsTLnO4IfP8AxtPd78tcttmrYYt0ULUVzWdFXd619ZpTjd3OTia6prCtX\/blr0vbZLdaG9u3ZqJnK+TPH0IvsJkrPeS8f9Oz\/b8h3pr4UV9VYalkacXJnd9hLhJu5FOvRhFRV7Lyf0LMCPtd7oruxVppPLb50btzkJAzaayZ1RlGSvF3QABBYAHNVXGioW7VVVRRehzkyvs4jUhtJXZ0gr1RrS1xO2IEmqXcuzZu+00pqa71P+UsE3odIq4+CF+zkYPiqWid\/TMs4KwtRrCoxs0tNTetUX71M9lrJ27wijZnnhN3\/aMHmiO8bQfQswNNIlQ2ljSrcx0+PLVibs+g3FDoTurgAAkAAAhNV176OzOjhX9PUuSJiJx38cew7bPQeLbVT0qoiOYzy8fSXiQte3xlrilpXoixUkfaORd+\/j\/tLQaSyikc1Px1ZT2yX8gAGZ0gAAAAAHBe69LbaZ6nCK5G4ai81XgcmlaBaKzsfIzZmqF7R+eO\/gR94kW9aip7RGqrDAvaTqnDPT89S0tajWo1EwiJhDR5RtucsPxKrnyWXz5mQAZnUAAAAAAAAAAAAAAAAAACka7uiyTxWuJ2UZh8uOq8E92\/2oWu6XGG1UElXNvRibmpxcvJEKrpazyXOtfe7g1Htc9XMRyec7PH1J+eBrTSXiZw8W5TtRhq9fJEzpWyLaaBXztxUz4V6fRTkhOgGcm5O7OunTjTiox0QABBciL1ZZLzLTsfVLHSMXMsSJvf03knBBFTQshhjayNiYa1qcENgJu7WKKnFSclqwYMgguVbUNK2z1sF5o0WPMiNnYzcj0Us8b0kja9EwjkRSv64VE0+qZ3rK3H2mmTVOYoaK0U7qypViNyieS1cfaa2coo4VUhRqyT0yfzLJNPFTxrJPKyJicXPciIhAVesabtkp7XTyXCZVxhiKjfhlfd7TTDpiruUram\/VjpF4pBGu5Pz6CxUtHTUUKQ0sLImJyamM\/Mjwx8zS9app4V1f2K6lHqm8Ii1VVHbYVz5EaeV9nzOqm0ba4l26ntauVd7nSvXevqT78k+CMb5ZFlw1PWWb88zRT0VJSpinpook\/gYiG8AobpJZIAAEgAAAAAAAAFYtrmt13c+1diR0SIzO7KYb+BZlcicVRPaRV2sFPdJWz9o+CoYmGyRrhfacHc\/aXalutW9eflfiaPDLO5xxVWndKN829dywpPCrtlJWK5eSOTJsIW26XobbUtqWOlkmbwc9xNFHbkdMHNrxqwABBcHHda9lsts1W\/9hvkp1Xkh2FWvKrfNQQWiNVWCn\/STqnXp7viWirvMxrzcIZavJep0aRoHxUclxqd9RWO21VeTSwnljGxsaxiIjWphETkh6End3LUqapwUUAYVzUVEVURV3JleJkqaAAAAAAAAAAAAAAAAAr+rL54soewgfipnTDVRd7E6kxTk7IzqVI04OUuRB3qq7x6kp7bC5ewierVVN+fpO9yF5iijgibFExGMYmGtRNyIU3QVCqvqLg9v\/lsVU9q\/cXU0q5PCuRy8GnKLqy1l\/wAAyO4AAAAHl72xsV73I1rUyqryAPRD3fUdJbF7FuZ6lfNiZv3+kjqy9V15qX0NkTEbd0lSvBPUcLkgtzvALSnh1zkX9JUKmezXmqdDWMNzhq8S2vBpv8ATc5JHXPUd7hoq1dhiYc6JvBqfMvFDbqS2w9lSQtjbzVOK+tTksdlZaadVeva1Mm+WVeKr0JUicr5LQvw1BwWOfxMAAzOsAAAAAAAAAAAAAAAAAAAAAAAAAAA4bxcW2u2TVTuLUwxOrl4HDpa2upbetXUJmqq17R7l4oi8E+\/2kdcVXUOqorc3fSUPlTY4OdzT4J7y2cDR+GNtzlh+LVc+Ucl683\/AAZNVRURUsD553oyNiZVVFRURUsD553oyNiZVylCv1xrb61r42vjpFfsQswuZF6qRCGJk8RXVKOWbO6GtqNVX1jY1dFQ0rtvcuFX29S5omEwRtgtLLRbWQon6V6I6V3Vxo1TdfF1qfHE7\/E1HkRtTjv4qTLxStErTvRpupUebzf0Oq3XqkulRUQ020q064c7Hkrx4L7CQIfTVoW0WtGSY7eVduVU68k9ifea9Sahjs1P2cao6qkTyG\/RTqpDjeVol41HCljq5Ey2SN7nNa9rnN4oi5VD2V7R1G+O2vrp8rNVvV6qvT85OzUVzba7TJIjkSV6bMaLzUhx8WFExq\/hdpLLmdlJcKauWRKeRHLE7ZcnRTpITSlvdQ2djpG4lnXtH547+Bw6o1M2lhfR0Em1OvkyPb\/w\/R6ycF5WiV7fBSVSpkWGCupqqaSKGZr3xLh6IvAhq3V9LT1S0tPTy1M6O2Va1Mb8nvSNrW32pJZWbNRUeU\/PHHJPz1Oee70XeWGkoaGGone\/9JOmMtXnhU6cyyisTWpnKrPs4ybwt\/Mx461HO7ZgsqM9L1\/Ezt6vVPMpULMYVURMquEQrjWxp2EnrNlUqa7VVDA6oqG0vZtTKruKjc6isr6ltbVJ5VQmWY6Ju3IW2rkl1XdFooF2KClfmR\/01I28225y3iaop6VzYaJEWLydytau7HU6INJ56nmcRGU14W3H+3O62XW5Wm3xUqWORWxpvVv7SrzOvvfM39ZZKxuOK4X5EtZ7tT3eibNC7y0REkZzap38TFyV80ehTpzwLBUy9EVvvpCnn26ravTZHfSm\/cKr+ksew1eLU9w2GfRT3Fbx2L9nW\/f7Fc76037hVf0me+9v\/d6n+gsWwz6Lfca5Vp4I1kl7ONjeLnYREJvHYYKy\/Wun3ILvzZ+lR\/bT5kHfdSxXepipIppIKDcsrtnynL6iVu2rLbDC+KgjSplVq4c1uGt9OTg09pBlZBFXV0u1C9NpkTF4+tTWKjFYmrHDVnWqvsoSUt+X8nLUX6BWNtlrd4DRcHzKnlP6qTlnuOmrVBsQVbUevnyPau077CcS10CNRqUkOETCeQnA1usdqf51vp1x1jQo5xasdEOHrQlium\/TT0NbdRWdyoiV8W\/1nvx7av36H+o1u01ZnIv+AiTPRMHjutZv3Jn2lPB5m35jy9zrbdrc9cJXQf3EQ3Nq6Z6IrKiJ2ej0UinaPsjkx4Kqep6oaHaJta+Y6dnqkUWhuMXEL9K6\/YsKLlMoZKwuiYmO2oLlVMX1oF0xdYv8vf52p0VF+ZOGO47WqtafuizgrPizVMP6q7RSY\/1E\/BTHaawgztR01Rj6OEz8CMGzQ7w1rB9CzgrCanulIuLhZJUTgr4sqifH4nVS6xtFQ7ZfK+nd0lbj4B05EriaTdm7euROg1U9VBVx9pTzMlZ1Y5FNpQ3TTzQAAJAAAAAAAAABH3y5ttNpmqspt42Y0Xm5eHz9hIFVuTUv+qILemXU1F5c3RV6fd7y8Fd5mFebjC0dXkjt0nbFobUk8yL4RVr2kirxxyT7\/apMVFRFSwPnnejI2Jlzl5GwjbvZWXh0CTVEjYY3bTom8H+si+KV2SoulTwwV7EMxlTq+s7WRHQ2qJ3kt4LKp7u8UceqbLTsja2JqLhqJuLNFEyGJsUTEYxiYa1OCIRV6sPjWaGpiqn01RBuY9vJC6mr+RhOhJQus5XTfyZ13O60tqplmqZERV8xiec9eiIU6mWquur6Oe4RrH2n6SONf2Woiq37UJ+g0rBDUeFV9Q+vn5LLwQ4KtK2vukd5tFOrnU+YFjnbs7+vHem8tCyukZV1Unhc1lfTX1LDdbrTWijdUVDvQxicXr0QptdaKuWyVF6uGVrJXNVqK5ERjMp93LoTlt07UTVvjK9zJPUZy2FPMZ+enxJ+eGOohfDK3aY9MOTqhVSUNDWVKXEJuasuS\/lnNTVMFNZoJ5JGMiZC3Ls7k3FGu1XU3y4QVS7TKN8yRwtdz6rgsaaKoe1RX1FQ+FFykKu8lPQb7zp1tfTU0NJIlMlO7LURNyITGUYszrU61WFmrJcr6nLe705ypZLTmSsf5DnNXCMTnvI+5WmmtjbXSTOY1r5NuoqHKmVVPXyLHZrFTWaJyRqskz1y+V3FTsqqOnrYliqYWysXk5OHyIU1F2Whd8POonKevsv7zICuv89xqEtlgTtHqnl1KLhrE54X7\/ccGmLZHTaoqY\/OWjj2drq5dyr8S3UtFS0UaspYGRNXjspvX1rzKjQ3ims16vUlakiySTr2TGtVVcmXcPsLRd01FGdWGGcJ1Xz+SyLlLNHBE6WaRsbGplznLhEKrPWV+qql1NbnOp7czdLMqYV\/oQJSXPVU7X1zH0duauUjRcOkLRTU0NHA2CnjbHGxMI1EKZQ9TbxV\/KPu\/sarfbqe2UraemZstTivNy9VOoAzbudaSirIr1fpbNW6utNUtFUrnKJ5jl+77fUaG3LVNBssqrWysRETL4eK+75FoBfHvmc74dJ3g3H0+hWO+MsX+aslZCvPcv3ohnvo2VuKW1VcsmcI1URPhkswGKOw7Ot\/s9kVjw7Vlfup7fDRMVfPlXensX5HqPSclXP4Rea+Srd\/ptVWtT2\/LBZQMb5ZDu0X8bcvXTocTbRRRUElFBAyKORitXZTfvTGfSQenbh4pmlsdyf2ToXr2Ej9zXNXgmfTxT3FpOG52iju8HZVUaquNz2rhzfUFLkyalJpqVPJrpbY7gVZLRqCzJi11jaqnRd0E3FE9vD2Kh6bq2opXIy6WmeBebmJlPtJwX0zI7yo\/wCROP8AzqWcEJFq+yyYzVKxeaPY5MfYdMeobPL5twgT+Z+PiVwy2NFXpPSS6kkDlZcqGTGxVwuzww9DZ4XTf68f9SEWZfFF8zcDQ6upGJl1TEiel6Gp93t0fn10DfXIgsw5xWrOwETLqiyw+dXxu\/ky74HFLre1sVUijqJv5Y8fEsoSfIylxFKOskWLGTlqrXQ1qYqaSKX0ubv95B96LjVovi+yTPT6b9yJ7vmFZq+vRMyU9A3PLCrj7fuJUGtXYo68Jqyi5fL6ni46borcvhdFcltj04bUnkqvTeuTt0tc6y40cnheJOydstna3DZE+9fYaKbR0TqhKi6Vs1e9OCPVUT45LBBBDTRJFBEyJicGsaiITKStbUpRpSU8VsK2\/uRsABkdoAAAANNXVwUVO6eokSONvFyghtJXZuBEpqiyquPDo09eTb4\/tK\/8\/D7y2GWxmq1N\/qXU23W4R2y3S1T1TLG+SnVeSEdpSgdTW51VM3E9W7tH5TC45J+epF3Gtgv2o4KPt2JQ02HvcqoiPX87i2Rz06tRI5o1RNyI1yFmsMbbmMJKrVcuSyX8s2gAzOsAAAAAAAAAAAAAAAGh1DSPnSd9NE6VOD1amTeAQ0nqDxHLHKirG9r0RcKqLneelTKYU0UdDT0Ebo6aPYa5yuVOqqBnc6AACQAAAAAAAAAAAAYc1HNVrkRUXiioZABxy2m3T57Shgcq8V7NEX3nNJpiyy+dQMT+VVT4KSoJxNczN0qb1iuhAv0ZZXZxA9vqep47k2f6M39z8CwgtjluU7tR\/aivt0VZmrvjlX1vNrNIWVn\/ACqu\/mepNgY5bhcPRX6V0I6HT9pgXLKCH\/3N2vidkdNBCuYoI2L1axENoKttmihGOiAAILgAAAAAAAAA0VlHBX06wVLNuN3FDeAQ0mrMqdToGkflaapkjXo5MoQlz09V2KlWaVaWaJV2cq3yvYfRyp3BV1BqiKgZvpaJdqVeSqbwqSbz0PN4jhaMV4VZvJEFSWuogpUWrsck7H+UkjXYdg9r4jZ51PcaTHFMquD6KiIiIiJhE4Hl0bHecxq+tCO1LdxSVk+qR8+ZUUjERaTUVVF07Vq7lO2lu1dFKxe8FLNG1Uyj0VFVPcW2S20Mqqr6SJyrxyxDndp60OXPi+BF38Gk9pF6kLhasfha9\/qYbqG0o1EdcIlXG9d+89pfbU5MpXQ4\/mNXdqzfuEXuPK6WsyrnwJieoz8HmdP5jy9zrS725UylbD\/Wh78YUX75B\/dT5kaukbKq58F9zlPHcuyf6En91wtDcX4jZdX9CXSspVxiphXPDD0NiTRO82Ri+pyEEuirRv2Umb0xIu48O0Tb\/wBmoqW+p4tDcY6\/7V1+xYwVnuVE3fHc6xq88uQd0JW\/q7vVNXnlRhjuO0rfs90WYFZ7qVib2XuoR3JR3cvTdzNRTI3oqL8xhjuO1q\/631RZgVnxRqVnm3pHZ+kijxfqpnm3OF2fpJ+AwLcdvLnB+31LMCs+CavbvbXUzl6Kn4DsdZfvVH7k\/wBoweaHeH+x9PuWYFY\/8YpzpF93yHaawZuWKlf6UwMHmh3j\/wAvoWcFZ8I1em\/wamXHLKbx4bq76up\/6k+YweaHeV+19CzArPjLVjdy2eB2Oe3x\/wC4eN9Us3vskSp\/C7\/7DA9x3mOz6MswKx471Gm9bG3H834me8N8+on+8dmx3qGz6MswKx3lu7dz7DMq\/wAOfkO9NxZvfp+pVP4c\/IdnId6pefRlnBWe9tZ\/0\/We5f8AaO+D\/qas9y\/IdnId6o7+zLMCs98H\/U1Z7l+Q74P+pqz3L8h2cth3qjv7MswKz3wf9TVnuX5Dvg\/6mrPcvyHZy2HeqO\/syzArPfB\/1NWe5fkO+D\/qas9y\/IdnLYd6o7+zLMCs98H\/AFNWe5fkO+D\/AKmrPcvyHZy2HeqO\/syzArPe+ZdzLHWOXphfkO9de\/czT9Wi\/wAWfkOzkO9Ut\/ZlmBWO890+oKj7fkO811Xc2wT5XhnPyHZyHeqXn0ZZwVjx7qB\/6uxY67TvxHjrUn1G3+r8R2bHeYbPoyzgrHjjU79zLJGi\/wATvxOihr9STVbGVVrhhhXO0\/a4bt3NeYwMlcRFuyT6MnwAUOgjr5cm2q1TVOU28bLE6uXgcelLa6itvhEyZqKpe0eq8d\/A4Lii3\/VENA1c0tH5cuF3Kv53FrREREREwicENH4Y23OWH4lVz5LJfz9DIAMzqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjCdEMgAxhOiDCdEMgAxhOiDCdEMgAxhOiDCdEMgAxhOiDCdEMgAxhE5GQAAAAAAAAAAAcd0rmW63TVT9+w3cnVeSHYVbUTkut8obMxXbKO7SbHJP\/zJaCuzGvNwhda6L1O3StA6ntq1cy7VRVu7R6rxxyQnDDWo1qNamERMIhkiTu7l6cFCCiuQABBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8yPbFG6Ry4a1FVVK1pRkldV115m3rO\/YjynBqflDp1hXPpbMsESqktU5I0wm\/HP5e0k7VRJb7ZT0qYzGxEdjmvP7TRZQ9Tlfjrpco5\/NnWADM6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrXDN01vSUfGOhZ2j0VF48f9paTU2KNJ3SpG1JHJhXo1MqnrNpaTvZGNKGFye7AAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/Z",
    "razonSocial": "CRISTOBAL IGNACIO LY VALLOTTON ",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JESSICA CHAMBI",
    "correoContacto": "conservadordeminasly@gmail.com",
    "correoCliente": "RRHH@NOTARIALY.CL",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56225045038",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29608\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:34",
    "ubicacionGPS": "LatLng(lat: -22.4627674, lng: -68.9251047)",
    "horaLlegada": "12:03",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 12:34:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:16244783

[12/08/2026 12:34: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('16244783', 'KY2607', 4, 19969062, 36152, NOW(), 
				'08:00', '12:03', '12:34', 1, 'Se realiza instalación impresora kyocera
Firmado por Maria Jose Bacian
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786552469.png', 'Se realiza instalación impresora kyocera
Firmado por Maria Jose Bacian', null, 'COMPLETADO','LatLng(lat: -22.4627674, lng: -68.9251047)' )
				
[12/08/2026 12:34:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201458

12/08/2026 12:34:29 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '16244783'
				   AND serieintmaquina = 'KY2607'
		
12/08/2026 12:34:29 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2607'
				   AND estado = 1
				
12/08/2026 12:34:29 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('16244783', 'KY2607', 1, 1, now(), 'Emilio Sotomayor 1953, Calama', 'Calama', 'Notaría Cristobal Ly');
				
=========================================
FECHA: 12/08/2026 12:34:29
listaInsumosUsadosConsolidado===

idReport:201458

idInventario:KYO-I647

idControl:29608

cantidadAsignada:1

cantidadUsada:1

[12/08/2026 12:34:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201458', 'KYO-I647', 1)
				
[12/08/2026 12:34:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29608 and
				    IDproducto = 'KYO-I647'
				

12/08/2026 12:34:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
12/08/2026 12:34:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201458'                    
				WHERE idllamado = 13753			
				TO ENVIO: RRHH@NOTARIALY.CL, conservadordeminasly@gmail.com, donkhapone@outlook.com


12/08/2026 12:34:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13753			
				
12/08/2026 12:34: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

12/08/2026 12:34:29 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-BXjlGhhLm9oW0pgjeoKoWCPYGv2uKsbvnDf5A2aQrutohaPigqx
12/08/2026 12:34:29 Detectado modo MULTIPART/FORM-DATA
12/08/2026 12:34:29 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786552469.png
12/08/2026 12:34:29 Envío correo: OK
------------------

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12: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 = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:34: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13753
LIMIT 1;
        

12/08/2026 12:34:37 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:34:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:37 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:34:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:34:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13752
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 16244783
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2608
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12:34:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13753
                and cs.estado_control = 1;
                

12/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 12:35:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-wW3sxcf0wCE-lsbodQmXhDnDqO-KnubgeqbmgpHc4RyE6WULirU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "16244783",
    "serieinterna": "KY2608",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Notaria Cristobal Ly",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Notaria Cristobal Ly",
    "rutTecnico": "19969062",
    "contador": "73440",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro Impresora Kyocera\nFirmado por Maria Jose Bacian",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13752",
    "observacion": "Retiro Impresora Kyocera\nFirmado por Maria Jose Bacian",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAQQDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABEEAABAwMBBAYHBQMMAwEAAAABAAIDBAURBhIhMUETIlFhcYEUMpGhscHRFRZCUlUjkvAkMzRWYnKTosLS0+EHNYLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QANBEAAgECAwUGBAUFAAAAAAAAAAECAxESITEEE0FRkSIyYaGx0RRScYEkM0Lh8AUjU2LB\/9oADAMBAAIRAxEAPwD7MiIgCIs\/eNQSsqha7Oz0iuccOIGWxeP8bualRbeRnUqRpq8ixuV6oLUzNXOGuxkRt3uPkqVt9vl4\/wDUW0RQk46ec8u3\/wDMqTa9K08LhV3M+m1j+s5z97QfDn4lX4AAwBgBXvGOmZio1qmcnhXJa9TNG2atO1IbxTiTk0N6vH+78l7We\/zur32q7xiGsaeo4erJ\/HLt8eOgVHqu1srrVJUMGzU0oMkbxxwN5H8c0UlLJlZ0pUljg27cG73LxFX2KudcrNTVT\/Xc3Dt\/MHB+CsFRqzsdUZKUVJcQiIoLBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFSakvD7dTMpaVpfW1fUhA\/Dndn37u9Sk27IpUmqcXJkS93itrK11msrSZ+E04OOjHMZ5ePs3qzsljp7LTlsf7Sd++WV3Fx+QXXT9mbaKHD+tUzYdO\/Ocu7PLKtVaUv0rQxpU23vKmvp\/OIREVDpC6ua17Cxwy1wwR2hdkQGZ0MSy21VM71oakj3D6FaZZjSvVvF+jAw1tVu\/ef9Fp1ep3mc2yfkpfzUIiKh0hERAEREAREQBERAERU181FDaoY2ws9JqZ\/5mNpyDyycd\/LmpSbdkUnOMI4pPIsquspqGEzVU7IWDm44z4dqp260szpmxiSXDvx9HuHz9yj0emZrjIK7UEz5pnbxTh2GsHIbvgPeuur2RQW2ktlJBGx1TMGMa1mMAdmO8haKMb2OSpVrKDqJWXjq\/Y1DSHNDhvBGQuV5wRCCnjhbwjYGjyGF6LI7VpmEREJCIiAIolZdKG3jNXVRxHd1S7rezis\/Va9o437NJSS1HHJcdgfAqyhKWiMam0UqfekatFCtNbNcLfHUz0rqZ78\/s3E5x27wOKKGrZGsZKSTRKllZDE+WRwaxjS5zjyA4lZfT0cl8u89+qgejjPR0zHAHA\/6zx7SVI1lWPbRQ22B5E9bIGYH5c7\/aSB371eUdKyio4aWP1YmBoPbjmrrsxvzOaX92th4R9eHQ90RFmdQREQBERAZjSwP23fzjd6V\/qetOsxoz9o66VHKSpPzPzWnV6neObZPyV9\/VhERUOkIiIAiIgCIiAIij11ZFQUUtVM4NZE3Jz7h7UIbSV2UGsL96DTm307j087es5p3xt+p+C8NFWNjaZt1qGkyuJEAPBreGfE7\/4KyE01Rd7mZJDtz1MgA8TuA3eQX1imhbTUsUDfViYGDdyAwuifYhhXE8rZ38TXdSWi0O0sscEL5pXhkbAXOceACwEeoqOe\/SXavErmRACmp2jOye3ecD6nuX0FwDmlp3gjBXhTUFJRNDaamiiA\/I0A+1ZQko3udtelOo44XZIofvzQhpdJRVjQD+QfVSqHV9prpREJXwvdwEzdnJ3bs571eKsvNnorlQytmjax4BcJWgBzSBxypvB8CHGvFXUk\/tb\/AKWa4c4NaXOIAAySeSzFi1DDTaZjnuM42o3GNgztPeBw3ea8eiumrnh8pdQ2seq0HrS\/X4eKYGnnoPiYuKwK7fD3JtZq+lZOaW3U8tfUZwGxjDfbxPs81G9B1Vdjmqq2W6Ek9SI9bGO7j5lX9BbKO2QiKkgbGMb3Y6zvE81LTEl3UNzOf5svssl7mfotGWumIfUCSrk3ZMrt2fAfPKsYLHa6aodUQ0EDJHHOQzh4DgPJT0VXOT1ZrGhSjpFBERVNTMSn0z\/yBCw9ZtFTlxHHBI4\/5h7lp1mLKA7Wd4eR1gA0HuyPoFp1efBHNs2alLm37BERUOkIiIAvGsqG0lFPUu4RRuefIZXsqHWVUabTsrQcGd7Yxu8z7gVaKu0jOrPBTcuR00RAYtPNfv8A20rn8fBv+laFRbZTeh2ulpsYMcTWnxxv96lJJ3k2RRhgpxjyQREVTUIiIAiIgCIiALG68uYDIbZGcl37SXuH4R8T7O1a6onjpqeSeVwayNpc4k4XzC5vdWuNynGH1spLBjhG3cTz8P8A5K2oxvK55+31XGngWr9CZoygdUX5sr2EMpmdJv3bz6vxz5L6OsxoekLLdNXvHXqpDg5J6o8e\/K06iq7yL7DTwUV45hERZHaFQ6pv0NroX0zHB1VOwta0fhB3bR+SsrtcGWu2TVj8Esb1Wn8TjwHtWL0xa5r5dn3OtLnxRv2i4n15NxA8APkFrCK7z0RxbTVkmqVPvPyRZ6c0hDDFHWXFolmPWZFkFrRyz2n3LWAADAGAFyipKTk7s6KVGFKOGKCIiqahERAEREBlK+Z1j1lFWynFJWs6NzidzOGffg+ZWqa4OaHNIIIyCOaj19vpblTGnqog9h8iD2gqttumorXWtmp6yoMTRgQvdkcMZ3eJK0bUlnqc0Y1Kc3ZXi3f6cy7REWZ0hERAFl9Rfy\/UlptgduDumeBxxx+DStQstZT9pavuVwwTHAOhjPLPD5E+a0hldnLtHaww5vyWbNSvOaohpw0zSsjD3bLS92Mnjj3Feiw1wl+82sIaFpBpKVxB7CBvefPGPYVEI4i9etu0rK7bsjcAgjIOQVyotwuFPbKR1TUv2WA4AxkuPYF7xSsmiZLG4OY9oc1w5g8Cq24m2JXtfM7oq2gvlHcZquOFx2aU9eQjDSN+\/PkVS0t\/qbtq5kFFO9tAwEHDRh+ATk54ZO7tx5qyg3cxltEFazvd2NW5wa0ucQABkk8lX2e9U96jlkp45Gtifs7TwAHeHlj2qn1LdpauRtktTxLPPlsxZv2W8xn25VVZ72bZZfs2ggfJc5ZndTZyGnhnv3D699lTvG\/EwntajVw8F5vkjaT3KipaqOmnqY45ZfUa53Hh9VKXz2KhbbdVUJuNax0hb09RLI\/c13WwM547h7Vf3vV1HSUbm0E7Kipfubs7wzvJ4eSOnmlEmG1LDKVTK3Dieepa11xqIrBQSZmleOnc0Ehje8j3hZ7VzWx3aC307T0dLAyNjRvPb7TkKXYb7a7NC9zmVFXWznMkjWDxwCTn6qvmqam76pNZTW9z5dpr\/R3b8bIA38N25bQTi\/BHn16kakL37UmslwR9Et9K2ht9PStGBFGG8c78b1JWY6TWVVvEVJSDiAcHy5qNLBfvToqGs1FFDNOC5jY2nfjvDQsMF+J6XxGFJKD9PU2C85Z4YRmWVkY\/tuAWVq9Ough6a66lqOj57RIz3DLj8FRw2OK813RWcTmnYf2tTUEYOewAD2cfBSqcXnczntVSLtgz5Xz8i01de6WvkgttNVAMEuZ5RvYOXLjjJyp9LqXT1ooY6SmmfK2MAHo4iC48yc4VdJY6G2apt1JJEJaaaI5Mn4n7+P8Al3d\/t10NtoKffBRU8Z7WxAFWk4pJGdKNaVSU8k9OdiidrugOehpKuTH9lo+afe6sk\/o+nqyUefyaVpgABgDAC5WeKPI6t3W41PJGY+8d8\/q5N7XfRPvHfP6uTe130WnRMUeQ3NT\/ACPovYzH3jvn9XJva76LkamusZDqjTtQ2PPWc0uOyO3Gz4rTKiv9\/wDQsUFC0VFfN1WsAzsZ5nv7varJqTsolKkZ044pVH0XsWdur4bnRR1UBBa8DIyDsnGcHv3oomnbU+z2llNK4GVzi9+znAJ5e5FnK18jopuTgnLUtUUetr6W3QiarnbCwnALuZUJmprLJwuEQ3462R8UUW9ETKpCLs2i1RV\/2\/aP1Km\/xAn2\/aP1Km\/xAmF8iN7T+ZdSwRV\/2\/aP1Km\/xAurtQ2doybjT+T8qcL5De0\/mXU9L1XfZ1nqaoHDmMIZ\/eO4e8qBo+hFHYInloD6g9K445Hh7se1U2qr5Q3JtJQwVWYDKHTyNB6oG7s38SfIK3OsLFBEGRVD3tY0ANbE72bwFphlgtbU5N9SddyclZLL76nfU14fQUraSjJdXVJDIg3BLckb\/Pl\/0qXRdG2juVyfUOY11I0ROcTuaSTnfw\/CpbtVtrJmS0FjnqZB1RI5vqjyBUCPTF6uUtRLUOjoIqqQySxhxdtHJI3Z7SeaslaLTyMKksdZVIdq3Dhpz+pGv16F6uUEbgG26KYN2icbeTguzxxgeSm6j1VG6MW61zYjxsyTtyd3YPqrGm0LaoW\/t3TVDsc3bI9gVxS2e20QHo9FCwj8WwC72nejnBWtwLR2faZYsTSxa8z5vST3B9udbqemlfDJJ0knRRkufuGBns3e9TxbL3LMZLdapaFrohERnZcRuzkuxxxxX0ZFDrckWj\/T1a0psxFpsWpLew+jNpaRz9zpH4c8jx38OxS26QrqmUy194dtO9YQsxkZ7d3aeXMrWIqOrLU2jsdNKzu19TD3LQskbo\/s1xmDhh4mcBsnt3Y3cN29W1l0fRW9okq2sq6j+03LG+APxK0SI6kmrXJjsdGMsSR0jhihbsxRsjb2NaAE6GITGYRs6QjZL9kbWOzK7oszqsgoF0s9LdWN6cFsjPUlZjabz4nvU9FKbWaIlFSVpLIzkGi6ES9JWVFRWEHqiR+AB5ceS0EUUcETYoWNjjYMNa0YAC7opcm9SsKUKfdVio1DZ33SlY+meIqundtwv7+zPLgFXM1TV2xwgvlvlZh2yKiNvVf344ew+S1C4c0OaWuAIIwQealSys0Zzotyxwdn5FRBquyT4xXNYeyRpbjzIwpbbzanYxcqQ54Dp2\/VdZ7FaqnJlt9OSeJDA0nzCiO0hYnZ\/kOCeyV\/1TseJH4hcn1XuT3XW3MaXOr6YAcT0zfqq+r1dZqVji2q6d44MiaTnz4e9cN0dY2kH0Qu35wZHfVWFJaLdQuDqaihjcBgODet7eKdgfiHyXV+xn+j1DqPDnu+yqI8GtJ23jv5n3BXFq09b7P1qeIumIwZXnLj8h5K0RHNvJaFoUIxeKWb5v8AmQREVDc8amjpq2MR1UEczQcgPaDgqE\/TtmfjNugGOxuPgrNFKbWhSVOEtVcqPurY\/wBPZ+876p91bH+ns\/ed9Vbopxy5ldxS+VdCo+6tj\/T2fvO+q7DTFkDi4W+PJ7ST81aqvvlcLdZqmp2gHhmGZOOsdwUqUm7XKypUYxcnFZeBnbFbaG4ahuNQKSE0cB6KKN0Y2c8M4PgePatRHbLfCQYqGmYQcgtiaPkoGlaA0Fgga9pbJLmV4PaeHuwrlTOV2U2aklTTazefU4AAGAMALlEWZ1BQ7nJXxUm1bYGTT7Y6r3YGOamIpREldWucDON\/FcoigkIiICuF\/tBeWfaEDXA4Ic7ZwfNSoK2kqiRTVMM2Bk9HIHfBQZdMWWYkvoI8k5JaS34FdqDT1stlUamkgdHJgt\/nHEYPiVd4LZHPF18XaSt9yzREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAKqu2oaKzSxx1TZSZG7TdhoPzVqurmMfjaaHY7RlSrXzKTUmuy7MzZ11QOOIKSrlPcwD5rr967lKcU2nap4\/M7a\/2\/NacADgMLlWxR5GO6rPWp5L9zMfbGqH+pYmNxx2nf8AYVPd6q\/Xiqhs9VSQxSEiURxnO7fjaIJxz7FtbjXxWyhlq5t7YxubkAuPIDKpdKW+VwmvNcwGprDtMJHqsPMdmc+wBaRkksVjnq0pSkqWNu+umnQ6NpdYubstrKKEY3ANHV7vVKeg6z\/VqP8AcH\/GtOizx+COj4ZfNLqzMeg6z\/VqP9wf8aeg6z\/VqP8AcH\/GtOiY\/BD4ZfNLqzMCh1mDn7Woz3bI\/wBibGs4d3SUc+Oe4Z9wWnRMfgh8Ovml1Mx9oawj9e0Urxwy1w3\/AOdPtzUjfXsGccdlx3+C06JjXIbiXCb8vYzA1ZXxf0rT1XGPzDOPe1cjXVvadmelq4ncwWDd71plwWhww4AjsKYo8hu6y0n5L9ikh1jZJnbJqXRk\/njIHtVrT1tJVAGnqYpc\/keCvKe0W2pbiahp395jGR5qqqNE2eY7UTZqd2cjo5PrlOwx+Ijyfl7mhRZcaVuVKS6hv87M\/heCQff8k9I1dbQBLT09wYOLmet7sfDkpwJ6Mb+Ue\/Brz9DUIs1DrSmZKIrlQ1FC8\/maXAeO4Hs5LQU9TBVwiammZLGeDmHIVXFrU0p1qdTus9URFU1CIiAIiIAiIgCIiAIiIAiIgCIoV3uUdptstXJglowxp\/E7kFKV3YrKSim3oUeopTdr1SWCInYDulqCOW7IB8t\/mFqGtDWhrQAAMADkqDSdulhpZLjWbZq6wlztonIbyHz9i0CtN\/pXAwoJu9SWsvTgERFQ6QiIgCIiAIiIAiIgCIiAIiIDyqKaCrhMNTCyWM8WvGQs9U6UdRyCqsFS6knafUe7aYRv7Qe3nlaZFZSa0MqlGFTvLPnxM5bNVF9Wy3XWkkpKxxDQS07LyeHeM+Y71o11dGx5aXsa4tOW5GcFdkk09ETTjOKtJ3CIiqaBERAEREAREQBERAERec88VNC+aeRscbBlznHACBuwmmjp4XzTPDI2DLnOO4BZWIP1feGzviItVISGtdkdK7+MeXiurjV6yrdlu3T2iF293Ayn+PZ4rWU9PFSwMggjEcbBhrW8AtO59Tjz2h\/6Lz\/b1PRERZnYEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQ7na6a7U7YKoPLGvD8NdjJHaiKVqUqJOLTJEMMdPCyGFgZGwYa1o3AL0RFBfQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "CRISTOBAL IGNACIO LY VALLOTTON ",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "JESSICA CHAMBI",
    "correoContacto": "conservadordeminasly@gmail.com",
    "correoCliente": "RRHH@NOTARIALY.CL",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56225045038",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:35",
    "ubicacionGPS": "LatLng(lat: -22.4627549, lng: -68.9251158)",
    "horaLlegada": "12:03",
    "horaDespacho": "10:58",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "Cliente reporta atasco de papel recurrente",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 12:35:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:35:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:16244783

[12/08/2026 12:35: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('16244783', 'KY2608', 1, 19969062, 73440, NOW(), 
				'10:58', '12:03', '12:35', 2, 'Retiro Impresora Kyocera
Firmado por Maria Jose Bacian', 2, 
				'Cliente reporta atasco de papel recurrente', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786552503.png', 'Retiro Impresora Kyocera
Firmado por Maria Jose Bacian', null, 'COMPLETADO','LatLng(lat: -22.4627549, lng: -68.9251158)' )
				
[12/08/2026 12:35:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201459

12/08/2026 12:35:03 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '16244783' AND 
				serieinterna = 'KY2608' AND
				correlativo = 1;				
		
12/08/2026 12:35:03 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY2608'
		
12/08/2026 12:35:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2608'
				   AND estado = 1
				
12/08/2026 12:35:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2608'
				  AND rutcliente = '16244783';
				
12/08/2026 12:35:03 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2608', 3, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
12/08/2026 12:35:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201459'                    
				WHERE idllamado = 13752			
				TO ENVIO: RRHH@NOTARIALY.CL, conservadordeminasly@gmail.com, donkhapone@outlook.com


12/08/2026 12:35:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13752			
				
12/08/2026 12:35:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/08/2026 12:35:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                
12/08/2026 12:35:03 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-wW3sxcf0wCE-lsbodQmXhDnDqO-KnubgeqbmgpHc4RyE6WULirU
12/08/2026 12:35:03 Detectado modo MULTIPART/FORM-DATA
12/08/2026 12:35:03 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786552503.png
12/08/2026 12:35:04 Envío correo: OK
------------------

12/08/2026 12:35:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:11 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:35:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:35:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:11 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 12:35:11 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:35:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

[12/08/2026 12:35:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:35:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:35:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35:12 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 12:35:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13752
            GROUP BY l.idllamado;
            

12/08/2026 12:35:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                

12/08/2026 12:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13752
                and cs.estado_control = 1;
                
[12/08/2026 12:40:22] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 12:40:22 - INPUT: {"rutTecnico":"7373114"}[12/08/2026 12:40:22] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 12:40:22 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 05/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 05/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 31/07/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 30/07/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GONZALO MARTIN HURTADO PERALTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 10487973
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 30/07/2026
        )

)

12/08/2026 12:40:25 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:40:25] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:40:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13717
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => C4E2
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:40:30 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:40:30] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13717
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => C4E2
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:40:33 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:40:33] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:40:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:40:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13717
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => C4E2
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 10/08/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 12:40:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12: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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:40:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12: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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:40:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:40:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:40:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:44:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 12:44:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-9FrIgrUKDSu56SfzD5DSgn3W14As0HmBqEyx+TxWhGHPq.IHVP0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "1642302",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de engranaje del motor del fusor ( código C4E2 ), también se cambió el fusor completo.\nMantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13717",
    "observacion": "cambio de engranaje del motor del fosor, cambio de fusor completo.",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAUgDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEBwH\/xABFEAABAwMBBAYFCQUHBQEAAAABAAIDBAURBhIhMUETIlFhkaEVcYGxwRQWIzJCVZLR8FJygpPhByQzNGKy8SVDU8LS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADQRAAIBAgMECAUDBQAAAAAAAAABAgMREiExBBNBUSIyYXGRobHRFIHB4fAFQlIjM3KS8f\/aAAwDAQACEQMRAD8A9mREQBERAEREAREQBVH0jfbvU1lRa5GRxUjyxkDsEyH9DPtwrVUSGKmlkHFjC4ewKB0OwNsBfvJkmc5xPbuHwVkck2Za151I0721eR02C\/8ApZskFRCaetg\/xYiCPaM8PUVMqtanp32+qpr\/AErTtwODZ2tH128MnxIz3jsVgpqiOqpo6iI5ZI0OGeO9cklqiVGcrunPVeaNqIigaAiIgCIiAIiIAi5q24UluiEtXO2JhOATz8FlS1lNWxdJSzslaDglp4HsI5Fds7XI4o3w3zN6Ii4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA01TS+kmaOJjcPJQeh3B2ngB9mVwPkVYXAOaWneCMFVnQri22VNOeMVQeWOQ\/Iqa6jM08q8O5\/Qsc8MdTBJBK3ajkaWuHaCq9o6aSKKstMrsvoZi1u7kSfiCfarKqxbfote3OPOA+EOA4Z3M\/Mrsc4tCt0akJdtvH\/hZ0RFWaQiIgCIiAIiICsa0bsNt1XIwSQQVA6Rjt4cDg7xz4HxXNW0x0vcIbtQbTrfOQ2aIEkNB4Ed3Mdh3c1ZLvQi5WuopDjMjDsk8ncR54UTpiobdLDJbqxgL6bMEjDx2eXxH8KujLonn1aV6z4N5p9qJ6GaOogZNC8PjkaHNcOYK2KsaRqpKaSqsdS49LSvJjzzbnl7\/arOq5Rwuxro1N5BSCIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBVjT5NLqm80Tt+27phk9+f8A3Cs6q9bii19Rzbwyrh2HHtdvHwapwzujNXycJ8n65FoVYZ1P7RH4+3Tb\/AfkrOqwCHf2iO2TnZputjlu\/qEhx7htH7P8kWdERQNIREQBERAEREAVSuudPanhujMikrDsTgcAeZ+PsKtq5bjQQ3OhlpJx1ZBuON7TyIUouzzKa9Nzj0dVmiv6hxbb3br3EG9G9wjmfncQRuP4SfAK0ggjIOQVRmvlks1dp2vGKmkaZKdxH1mt37vZ5HuVl01V\/LbBSSfaazo3etu74ZU5xyRn2eonUaXHPuejJVERVG4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKq65Y+GChuEW6SnmwDjgTvHm1WpQeso2v0zUucMlhY5vcdoD3EqdN2kjPtUcVGXd6ZnFY9Q18txhpLpGP73EJIHsG7hw8j7e5ZaePyzU94r+LWuETXHmM43fhHkoy4zH5u2O8U5G3RkRlp5kbvezzUzouldFZTUyZ6SqkdISeY4D3E+1WySUW13GOlKU6kYN3tn5e7LCiIs56gREQBERAEREAREQFf1RZ31UbLjR9WrpQXdUb3tG\/H671xf2fzl1BVU54Ryhw3\/tD\/wDKtq87FVV2nUlxrqSLap4JyJ427gWlx+PNXQvKLiedXUaNaNXnr4anoiLRR1kFfSR1VM\/bjkGQfgVvVJ6CaaugiIh0IiIAiIgCItctRBAMzTRxjte4D3oG7amxFGTajs0A69xgP7jtv\/blRsutqJ0nRUNLU1kmMgMbgH4+SkoSfAoltFKOskWVfCQBknACrHpLVVf\/AJW1x0cZO50x6w8ce5YjS1xuLg+9XaSVuQeii+r+Q9gUsCWrIfEOXUg35LzJKu1VZ6HIdVCZ4+xB1z48PNR\/py\/XQ7NrtXQRk46ao7ORHD4qWt+n7ZbcGnpW9IBjpH9Zx8eHsUkl4rRDBWn15W7vdkBbrHc21sdfc7tJLK3f0Me5nDHq59gRT6KDbepdTpxpqyCIi4WBERAEREAREQBQ2rhnTFZx4M4D\/W1TKitTgHTlaHHA2M+YUodZFVfOlLuZ556SlZY3WsjDXTCXOBwxw9xXpVlDRY6HZaGg08ZwO9oXlspnbG2SSMBs8YawkcWtIGR+HHivV7dH0NtpYv2IWN8AFfW0R5n6c25yvwSOlFXNS6instXTRxRB7ZBtPLuYzvA71O0lVFW0sdTA7ajlbtNKocWlc9ONWEpuC1RuREUS05rhVGht9RVBm2YYy\/ZzjOAsLTXG52uCsdGIzKCdkHON5HwXNqeXodOVru1mz4kD4rXpJ7X6apNn7IcD69oqduhcz43v8F8rX8yZWIc1xIDgSOODwXHea4261TVLd8gGzGMZJcTgbufHgqvYJa+1Xejhrp5XxXGHbAkccNed44njuA\/iRQuripXUJqFtfLkXZERQNAVWsDGyaiv0b2hzXPw4HmMuVmkljhYXyyNY0cXOOAqTYr\/b7dVXWrqpjtVU+0yNjCSRlxzn+LmrIJtOxj2icY1IYnz9DqJn0bcDufLaKh3rMTv14j1K2RSxzRNlieHseMtc05BCqtXqT0vTPpqawVNZDIMEuGB5A93NRFPVaisUcFue9tHHM\/6N8wDmtzx3jON+\/wA+am4OSz1KI7RGk7Ru4d2n2PRFoqK2kpBmpqYYf33hvvVe+bF1qx\/1G\/TOaT1o4s4PmB5LfDoizxnMonnPPbkxnwwoYYrVmreVpdWFu9+1zon1ZZIMg1oeRyjaXeeMLhfreCQ7NDbqqpd2Yx7sqYp7HaqUDoaCAEcywOPid67g0NGGgAdgS8FwGGvLWSXcvcrJvWpqof3SxCLP\/mdv8y1Pk+sarO3VUtIDyABI8j71Z0XMfJD4dvrTb8vQrHzXuk\/+b1DUuB4tZkD\/AHfBbItD2ph2pn1E7ue3Jj3BWNE3kuYWy0eKv35kVDpmywHqW+I\/v5f\/ALsqRihigZsQxMjb2MaAPJbEUW29S6MIR6qsERFwmEREAREQBEXxw2mkZIyOIQHGy70EleKBlS11QQSGNBPDOd\/DkV2qo6cmpbdcJ7fcYmRVrJT0VRLgueDyDiP+cq3Kc42ZRQqOpG719AiIoF4RFz1tdTW+ndPVTNjYOZ4nuA5ocbSV2bJ54qaF808jY42DLnOOAFUpm1es53dGX09sgzsEjfK\/kcfrCRR1usqrpp9umtUT+owcZCP1x5cFbYYY6eFkMLAyNgw1rRuAVvU7zJntPZD1+x5lV1EUunLfG\/fNTzSs2c7y3c74henQysnhZNGcskaHNPcd687mshqtVXCiaPqiSVrR3jLR4uCtmkKv5Xp2AE5dCTEfZw8iFOqk4pr8uZdico1JRl3f65HLre2uq7U2qjbl9Kcndv2Tx+BXJoOvJZUW5z9oR4li9R+t548Src9jZI3RvaHNcCHA8wvOYmu0vq0Ne5zYWvxn9qN3b6veFyHSg4k9oW5rxrLR5P8APzQ9IRRFXqmzUeQ6sbI4fZiG37tyjzrJ9SSLXaKqqxxcRgDwBVahJ8DZLaaUXZy+vodmsCBpiryeOxj8bVHaCqHGkq6RxP0Uge0O3EBw\/p5qN1Bcb7VUsdLXUcNLFUSAMaD1nEY47zuGRyXPU2eutN1p2Vdw+TNq+q6enyBuxu3Y7verlHoYWzzqlZ\/EKrFOyVnw1uTurZYprja7fLIxsRk6WbacAA3IGTndw2lxaru1qqIaZ1DUxvqqSUOZsNJAb2ZxjiB4LVp3TtLdKmrqarpZqZkmxEXOI6TfxJHs4HmrXFYrXBE6OKhhaHtLSdnJwc8zv5lRbjBpciyMKteMpZJS+hCx6suNfGPRlkllJx9I8nYzz+PNZfJtXXA\/TVUFAw8Wx4J8snzWOl5pbZcKqwVROY3F8BP2m88e\/wAValGTUXZItowlWhecn2rT0KVdtMwUFrnr7hcJ6udjcM23YBccAdpO9S2mbJSU1opp5qaN9RI3pC97ASM7x5YXJqOZ91vVHYYDloeJajsA44PsyfaFaWtDWhrQAAMADkuylLCkxRo099JxWSy+fEAADAGAFyXS1092onUtQNx3tcBvYe0LsRVJ2zN0oqSs9Cs6fuc9FWOsF0cOmi3QSHg9vIeHDwVmUXfLJDeKbGejqY98Mo3Fp7D3LisF8mknfabr9HXw7gT\/AN0fnjf38VNrEsSMsJOlJU56cH9H2+pYURFWawiIgCIiAIiIAiIgCIiAIiIAiIgI+7WSivEQbUx9doIZINxbn3+pQ4h1JY9oU7m3OlaOqx5O231c+ztHYrQikpNZFE6EZPEsnzRWfntTw9WtttZTyY+rsg8OPEhfDruheMU9FVyO7Nlo38uBKs6LuKPIju638\/L7lY9L6juJDaK0fJGE75ajkO3Bx7isqTSXTVAq73VurpsfUyQxp+I8B3Kdq6+joGbdXUxwjGRtuwT6hxKhKnWlEJOioKeeulwcCNpA\/PyUk5PqoqnGlF3rSu+32RYWtaxgYxoa1owABgALGeeOmgfNK4NYxpcSTjgMqsibV10OY4obbEScF463nk+QUPf7JPBU0lM+vnrq6qfgbedlo4cyeZ8iippuzZ2ptUoxxRg7duX3OS3Xs0+ovS9ScNme\/pGM3kAjcMeHguuyXqqpKysp7TQvqW1EnSRMeSCwZ5j1Ec+Slr7pikpbAX0MLWz0uJXScXPAHW4+OO5c\/wAtHp2y3hhAZWxCGUN3Db+qQfUSPBXXjJZIwKnVpSSlK2d\/HJnYKbV1xGZqqC3sPFrB1vLJ81Gag0rLR219e+4S1c0ZG2ZObeHMk8T2q9rivMQmstbG7gYH+4qmNRpqxvq7LBwd22+1kfp+2WaW2U9XT0ULnPYC5z27RDufHON+VOAADAGAFQNLXOazvhbVDFBXEhj+THg4z+fdjsV5rKqOio5aqU9SJpcVypFqR3ZakJUrpWtqV0sbddedbL4rfGOqQcbXHPifLuU\/cLdS3Sn+T1cQkZnI5EHuPJQ+jKV7LZLXTEumrZDI5xG8j\/nPirEk3Z2XAls8FKm5SXWz\/PkaaWlgoqdlPTRiOJgw1oOfetywfLHH9eRrd2d5wtDrpb2Z26+mbjjmZox5qGbNF4xVtCN1FaqipMNyt5AraTe0Y3yD9n3+J7Vwzaqr52NpKC1T\/LXAhxc3qtIOCR2jPbu9amnX60Mzm5U27skB9y0u1RZW8a9nrDXEe5WK9s1cyTUMTcamG+uhhp+xm2RPqKp\/TV0++WQ7yM8s8TwUyod2rLG0ZNe32RvPwXwausTjgV3LP+E\/8lFxm3doshUoU4qMZLxJlFDDV1iccCvHtiePgsvnVY\/vBn4XfkuYJcie\/pfyXiiXULqDT7LvEJoXdDWxb45Ruzjkfz5LP51WP7wZ+F35J86rH94M\/C78l1Kad0iM50KkcMpK3ec2nr9LVSutlyYYrhDuORjpAOfr9\/EKwKmajr7HcGMqqW4iKvg3xPYx+XY5EgeBVhsFwmuloiqp49iQ5BIGA7HMfrtXZxyxWsV0KvSdJu9tH2dvaSSIirNgREQBERAEREAREQBERAEWMkjImF8j2saOJccAKIr9VWigBBqhPIBuZD1s+3gPFdSb0ITqQgrydiZWiqraWhiMtVOyJg5uP6yqtLdr7dWF8boLRSHhLO\/Zc4es+8AetczabTFPJ01zuz7jOQMnLnAn2b\/EqxU+ZlltV+ovm8l7kpUazp3TdBbKOeulzgbI2Wn1cT5LWINV3doM1RHbIXD6sY6\/d3jxCxh1baqZvQWu2TP\/ANMUQaCfZv8AJbPnFfandS6ekZ2GYnB8QFLC1ovEp3kZ9ebfZFP6e5updGWyNxkqjLWSuOS6V5GT7Pipunpaekj6OmgjhZ+zG0NHkq8DrOp3bNJR9+4\/\/S+DTt9qh\/fb\/IztbDnHw9yi031pFsJRj\/bpP09SyyTRQt2pZGRt7XOACplDdqGo1RVXatq2RRQN6Kna7eTyyMZ3cfxLgu1kpm18Vtt809bXud9I57hssHfu9vHd7Va6PSdopIWNdSMnkaMOkkydo9uM4ClaMFnxK3KtXnZJJRfPj9jTU6wsQjfGZXztI2S1sR3g8eOFRpK6NtLJSwCQsbUiWnc\/AcwYIIPr6vgvUIbdQ0+Oho4I8DALYwFXdb2Y1NK25QtzJAMSgc2dvs+Pcu05RTsR2ujWlDG2suSPsepr3VxsfSWB+Hjqvc4lp7+A3LCqrNWzUc3S26lih2HbeXDOzjf9rsUho6r+VaeiaTl0DjGd\/tHkQurUU\/ybT9bJnGYiwHvd1fio3SlZIsUZTo7yU3pfh7FPttpvN5sbIIZaX5H0hLRIMFrs78ENyP6qRk0tfqqjZSVV1iMEYGywZI3cOQyp3TMDqbTtHG4EEsLsH\/US74qVSVR3yFLY4OmnJu7S4lWbpW6uY2OTUdQGNAAa0O4fiWXzLEn+Yu9ZKfX+eVZ0Ud5Iv+Eo8V5srTNCWhvGSqfv5vHwC6G6NsbcZpXux2yu3+BU6i5vJczq2aiv2oiG6UsbMYoGbu17j7ytw0\/Z2jAttP7WAqRRcxS5k1RprSK8DgbYrS05FtpfbE0rL0Lavuyj\/kN\/JdqLmJ8yW7hyRwmyWlwwbZSeyFo+Cx9AWj7tpv5YUgiYnzObuHJEf6AtH3bTfywnoC0fdtN\/LCkETE+Y3VP+K8DhbZLU1xcLdS5JzkxNPvXYxjI2BkbQxrRgNaMALJEbbJKMY6IIiLhIIiIAiIgCIiAIiIAiIgK5f9MVF6rRK2uMcQYAI3ZIDs8QPUuGDQAYQZbm\/jvEcez55VxRWKpJKyMstkoyliksyuRaHtTDtTPqJ3c9uTHuCkqfT9opR9Fb4PW9u2fE5Uiii5yfEsjs9KOkUYsYyNuyxoaOwDCjKbU1oqZXxCrbE9rsYm6me8Z7VKqPrrDbLkS6ppGOeR9dvVd4hFbidqbzLd2+ZtlulvgGZa6nZ65QoGt1LU3OZ1Bp6F0ryMPqCMBg7Rn3ldkWjbJGcmmfJ+9K74FTFPTQUkXRU8LImZzhgxk9vrUrwWmZU4155SaiuzUj7FYobNTu63S1Mu+WY8T3DuUqiKDbbuzRCEYRwx0C+OaHNLXAEEYIPNfUXCRQKaW42HU1bTUFO6oiDi91O3mziCO8Agbl31dZVardTUcFFLBS9JtTukxvAOPLB7\/Bbr24WzV9tuJw2KdpikOcd2T7HDwVqV8paSsebSot4qeLJPTs1MWMbGxrGDDWgADsCyRFQekEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBCauoXVthldGCZKciVuOO7j5E+C7LJXekbPTVWSXOZh+eO0Nx8wu1zWvYWOGWuGCO0Kr6Yk9F3ausUuRsyGSAuP1m\/8AGD4qxZxtyMsuhXUuEsvnwLUiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVY1dSy076a+Uo+mpHAP7253Z93tVnWmrpo6yklppR1JWFh7shSi7O5VWp7yDj+XPtNUMq6WKojOWSsD2+ojK2qtaRqZKcVNkqj9PRvJbnmwnl7d\/8AEFZUkrOwo1N5BSCIiiWhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVfUsT7Xc6TUFO0kMcI6ho+00\/0yPBWWKVk0TJY3BzHtDmuHMHgVrrKSKuo5aWYZZK0tPd3qD0lUTRR1Nnqv8ahfhp7Wn9eBCs60e4yr+nWtwl6\/csaIirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBYhjGuc8NAc76xA3n1oi6ReqMkRFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "COLEGIO SAN PATRICIO",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "PATRICIA",
    "correoContacto": "patricia.andrea@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "C4E2",
    "prioridad": "1",
    "telefonocontacto": "+56987449390",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1292\",\"id_control\":\"29615\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:44",
    "ubicacionGPS": "LatLng(lat: -23.5656848, lng: -70.3935933)",
    "horaLlegada": "08:43",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 12:44:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 12:44:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[12/08/2026 12:44:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76148340', 'TO2005', 1, 7373114, 1642302, NOW(), 
				'08:00', '08:43', '12:44', 4, 'Cambio de engranaje del motor del fusor ( código C4E2 ), también se cambió el fusor completo.
Mantención', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786553088.png', 'cambio de engranaje del motor del fosor, cambio de fusor completo.', null, 'COMPLETADO','LatLng(lat: -23.5656848, lng: -70.3935933)' )
				
[12/08/2026 12:44:48] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201460
[12/08/2026 12:44:48] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201460', 'TOS-R1292', 1)
				
[12/08/2026 12:44:48] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29615 and
				    IDproducto = 'TOS-R1292'
				

12/08/2026 12:44:48 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1292';
                
12/08/2026 12:44:48 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201460'                    
				WHERE idllamado = 13717			
				TO ENVIO: micorreo@miempresa.cl, patricia.andrea@colegiosanpatricio.cl, donkhapone@outlook.com


12/08/2026 12:44:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13717			
				
12/08/2026 12:44:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

12/08/2026 12:44:48 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-9FrIgrUKDSu56SfzD5DSgn3W14As0HmBqEyx+TxWhGHPq.IHVP0
12/08/2026 12:44:48 Detectado modo MULTIPART/FORM-DATA
12/08/2026 12:44:48 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786553088.png
12/08/2026 12:44:49 Envío correo: OK
------------------

12/08/2026 12:44:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:44:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:44:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/2026 12:45:00 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:45:00] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:45:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13717
            GROUP BY l.idllamado;
            

12/08/2026 12:45:00 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:45:00] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 12:45:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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 = 13717
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13746
            GROUP BY l.idllamado;
            

12/08/2026 12:45:24 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:45:24] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13746
            GROUP BY l.idllamado;
            

12/08/2026 12:45:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13746
            GROUP BY l.idllamado;
            

12/08/2026 12:45:24 - INPUT: {"rutTecnico":"7373114"}
[12/08/2026 12:45:24] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/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 = 13746
                and cs.estado_control = 1;
                

12/08/2026 12:45:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => 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
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13497
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2330
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13746
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO2800
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13749
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 12:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO2785
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/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 = 13746
                and cs.estado_control = 1;
                

12/08/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 = 13746
                and cs.estado_control = 1;
                

12/08/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 = 13746
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:18:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18: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;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:18:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18: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;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:18:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:18:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:18:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:18:39 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:18:40 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18: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;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:18:40 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:18: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;
                

12/08/2026 13:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54:25 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:54:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54:25 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

[12/08/2026 13:54:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:54:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54: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;
                

12/08/2026 13:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54: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;
                

12/08/2026 13:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54: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;
                

12/08/2026 13:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:54:26 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54: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;
                

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54:27 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:54:27 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:54:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13703
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2528
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:56:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:56:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:57:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:57:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/08/2026 13:58:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Fn3mC0n6GrlwlX75udlfEjgk+sO-k1GuUFFKBsh_tC88Hij1s7C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2528",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "111210",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "mantenimiento",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13703",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC1ANcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABHEAABAwMBAwcIBwUFCQAAAAABAAIDBAURBhIhMRMiQVFhcYEUFTKRobHB0QcWIzNScqI1QlXC4WJ0krLwJENUZYKTo9Lx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgECBAMGBgMBAAAAAAAAAAECAxESITFRBBNBMjNxkaHRFCJhgcHhQlOx8P\/aAAwDAQACEQMRAD8A\/ZkRcKysp6CmdU1UgjjZxJ9w60IbSV2d1V3TUVutILZ5tuUf7qPe7x6vFUwr71qiQttwdb7fvDp3DnP6N3yHiVc2zT1utWHwxbc3TNJznf08FphUe0cyqzq90st3+EVbb5qC5gG3WjkIzv5Sc8RjozjPhlffN2rpt8t2p4h1Mbw\/T8Vp0UY9kT8O325t\/e3+GY8x6k\/j\/wCkoaDV9OcxXSnnaDnZe0ZP6fitOiY2Pho9G\/NmWF+v1syLraTLG3OZoPYd2R7lZUOqLRXnZZVCJ+cBs3MJ7s7irdVlfp613Il1RSMEhOTIzmuJ7SOPipvF6ojBWh2ZX8fdFmiyRpb5pgh9LI640DeMJztMGPHA7vUr203qjvEG3TSc9o58TvSZ8+9Q42zWhenXUnhkrS29tywREVDcIiIAiIgCIiAIiIAiKugvdJUXiW1sJE0Tcna3AnpA6+tSk2VlKMbXepYoiKCwREQEevroLdRyVVQ8NYwZ7z0AdqzNFQVeqKtlzumG0LCeQpxkBwzxPZ29Pcpd1tdde75HTVLTHa4AJAWn713V2HiOwZ61omtDWhrQAAMADoWl8Ky1ORxdabxdler9j41rWMDGNDWtGAAMABekRZnWEREAREQBERAFnLxpx7ZfOVkPk1YzJLWbhJ4cM+wrRorRk4vIzqUo1FaRS6f1Ay7xGGZvI1sW6SI7s46R8uhXSz2oLJK+QXa1\/Z18O8ho+9A7Ov38FOsd5ivVFyrW8nLGdmWM\/un5KZJNYkZUpyjLl1Nej3\/e5ZoiKh0hERAEREAREQBfnc9T5Hr11QdzW1Oy49QIwfYSv0RfnGpacMv9xDgDlrZmAnGTzc+wuW1HVo8\/j7qEZLoz9HRRrdUeV22mqDxlia495G9SVid6d1dBERCQiIgCIiAIiIAiIgCIiAIiIAsndIzpy\/x3iEYo6k7FQxo4Hrx7e8HrWsUO7ULbla6ikIBMjDsZ6HdB9eFaDs8zGvTc45arNeJKY9skbZGODmuALSOkL0qLSNa+pswgm3TUbzC5p4gDhkezwV6okrOxanNVIKS6hERQaBERAEREAWL1bBjUFM8AnyimfEAN+XYcBu73BbRZjWuYIrfXgEmmqQd3r\/lWlN\/McnGK9FvaxM0fPy+m6cZyYy5h8CcewhXay+jXCCe6UDfQhqNpm7iDkfyhahRUVpMvw0r0Y+XlkERFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgMvax5u1tcKQbo6pglb0ZPH4uWoWXun2Gu7ZMAftIiw9vpD4hahaT6M5uHyxR2b9wiIszpCIiAIiIAqfVVMarTlW1o50bRIP+k5Psyrhc5omzwSQv9GRpae4jClOzuUqRxwcdzGaGqDJdKzJyXwtcT1kYB9626wOho3Q6hqYnjDmQPa4doe1b5aVu0cnANujnuwiIsjuCIiAIiIAiIgCIiAIiIAiIgCIiAy9wPK\/SBbYxwZASd3Dc\/wDotQsxQ4rNe1s7XcymiDO84A9+Vp1efRfQ5uHzxy3b9giIqHSEREAREQBERAZKzwin1\/c2cNqJzv8AEWO+K1qw7azY+kl7vRa9\/JHfx5gHvAW4WlTp4HHwjVpJdJMIiLM7Aihi60Zuhtgl\/wBpDNotwcY48e7epim1iFJPRhERQSEREAREQBERAEREAUeuq2UFDNVyAlsTC4gdPYpCyl\/nkvl2isFJnYY4PqngDcN3Duz6yArRjdmNapy4XWvTxJGjKaUUE9wnGJK6Uv7wM7\/WXLRrxFEyGJkUbQ1jGhrWjoA4Be0k7u5alT5cFHYIiKpoEREARFGuFbFbqGWrmDiyMZw0ZJTUhtJXZJXiWVkEL5XnDWAk4WbjuupbjC2Wjt0MMT2BzXyO3nPDie88OGF8dZ9QXYGK6V8cNO4DajhAJO\/h\/rs6lpgtqzmfENr5It\/ay9TNvbMyaHULxssmry5u\/ozn5jwK\/TFnNXUMTNLGOCMMjpnMc1rRwHo\/FXNsn8ptdLP0yQtcd3ThTN4kmZ8NDlVJQeyfuSkRFkdxQ6ls8lXGy40GW19LzmFvF4HR2nq9Sl2G9Q3qhErcNmZgTRj90\/I9Cs1l7zaaq11pvdmGHcaiADc8dJx7\/WtE1JYWctROlLmRWXVfk1CKDartS3ekFRTP3\/vsJ5zD1FTlRq2TOiMlJXWgREUFgiIgCIiAIuc08NNEZZ5WRRt4uecALMVl6r79O632JjmQ8JatwIGOzq958FaMWzKpWjT1ze3UlXq+yuqPNFnHK1zzsveOEQ6d\/X7lOslkhs9MWg8pUSb5ZiN7j8ks1jprLTlsX2kz\/vJnDe8\/Adi7V94t9sA8rqmRuIyGcXHwG9Wb\/jEyjGz5tZ5+iJqy89fcb9c6iitNSKWGkPPmxnbO8Y9ee\/C8T3G8ajHI2qB1JRP5r6mXcXDpx\/T1q+tVrprRRtpqdvD03kb3nrKWwa6kOTru0co9XpfwKilv1wt8zoL\/AEoiYMltTE0lp9Wf9dGVPj1PZJW7TbhGB\/aBb7wrKSKOaMxyxtkY4YLXDIPgoEmnrPL6Vupx+Vmz7lF4vVFsFaOUWmvrr6HXz1av4nR\/99vzVbV6qpjKyltTfLqp5wA3IaO8\/JdvqjYtra8gGc5+9f8ANWFHbqO3sLKSmjhB47I3nvPEp8iFuIlk2l4ZlE2XWUQ23U9HNw5mQD7wo1fJer9HHbKm0vpWOkDpJg7LcD\/71nuWvRTj62IfDXVsbseWtaxgY0Ya0YA6gvSKPVV1JRN2qqojhGM89wGe5Z6nS2krs43uDymyVsWMkwuI7wMj2hQ9Iy8rpqlyclm00+Djj2YUSs1fSS5prdTS18kmW7LRsj3ZPqVJpy33evpJKaC4eR00UpEjW+nkjfw+a2UHgzyPPlXjz06fzZNZG+D2Oc5gcC5vpAHeO9FXWWx09lhe2F8kkkmOUe8+kR2cBxRZO18jvg5ON5KzLNERQWMzdNOT09YbrY5ORqQcvh4Nf14+XDuUm2aqpK+B7XMdFWRtJNOcAyOA4M6z2cVeqru2n6G8DamaY5x6M0e5w7+taKSeUjllSlBuVLrqun6Kp+t2RsL32qqa0cS7cAvDfpAoiedRTgdhBXGSe92KA090pI7pbgANvG1sgcM7ujtHiptHQaVvTM09NEXZyWBzmOHHoBHUr2gs2jlU68nhjOz2asfWa7tD\/SZUs\/NGPgSpcWrbHMcCtDD\/AG2OHtxhfPqhYf8AgP8AzP8A\/ZfRpGxNORQDxlefiqvl\/U3S4xauPqfKjV1kp2k+V8qfwxsJz8FWO1bXXSQwWW378gcpM4bvDgPWVav0pY3jfQNHc9w9xVPetFROjYbRCGvLxtbcpwG+KmPLM6vxdr5W+mvqj3NYS9za3U92D2g5EQdss7h\/Re\/rPSwA0Wn7Y+pLRu5OMhg7cDee\/cuUOgYjTtbU18hlH4ANkd2V1Zo2qpARQXyogGc7IBAPqcFa8HqzNQrxzhC19XdN+p6NFqm7AeU1UVthOQWRb348PmFLt+kbXRbL5IzVTA5L5d4z+Xh68qL5i1GAAL+SMdLSnmPUn8f\/AElVb6J2NIxs7yptv6tP8mmAAGAMAL6sx5j1J\/H\/ANJTzHqT+P8A6SqYVudHOn\/W\/T3NOiyFVbrpSND63VYp88ASRnuGRlSBpW4yDMupat4O\/A2sZ\/xKcC3I59Ruyg\/Ne5piQBknACiT3e202RNXU7COgyDPqVIND0jzmevq5fxDaG\/2FSoNG2SH0qd8p65JD8MJaG5OPiHpFLxfsjzVa0s1O08nLJUO\/DGw+84CinUd7r8i2WN4b+7JPnBHsHV0lX9NbKCiOaajhid+JrAD61KTFFaIjl1pdqdvBflmWNp1Rcc+WXZlJG7fsQDeOzdj3ld6bRVtZIZauSeskO9xkfgE9e7f7VokUcyXQlcLTveWfjmcaelp6SPk6aCOFn4Y2ho9izumPsL\/AHumyfvtsZ73fMLULMUf2H0gVzMbpqcEZ68N+RUxzTIrJRlTa3t5pmnREWZ1BERAEREAVHctJ22vk5aNppJ8524d2T2jh4hXiKU2tCk6cKitJXMsItVWdztiSO6QDGNv0\/nnxK9w61p43iK5UNRRSdOW5HwPsWmXiSKOVuzJG14znDhlXxJ6ow5M493Pzz\/ZXw6js0+Ni4wDIzz3bHvwp0dTBN91NHJ+VwKr5tM2WfO3b4hk55mWe7ChS6Hs8g5oni\/JJ8wVFoE34hapP7tGiRZj6kxM3Q3SsjZ0N2h8MJ9TP+cVnrTDHccyt\/X6o064VFbSUgzU1MMP53hvvWf+pYO513rCOkZ4rtDoizxnMonnPTtyYz6sJaG4x13pBLxYq9ZW+PmULJK6boYwFo9ZHb0AriINU3hodNUR2qB37kYPKY6+v2juV\/SUFHQM2KSmjhGMHYbgnvPEqQpxJdlEcmc+8l9ll+ygpNHWyB\/K1PKVsxOS6Z24nuHxyr5rQ1oa0AADAA6F9RUcm9TaFKFNWirBERQaBERAEREAWYq\/sfpDojwE1MQTw6H+vgFp1mL+DDqqyVDRve8xk8d2QP5leGtjm4nKKezX+mnREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCzGruZcLLLwLKn0ure35LTrMa55lDRT8OTqRv6txPwV6faRzcX3L\/wC6mnREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCzGvv2HD\/AHlv+Vy06zGvv2HD\/eW\/5XK9Pto5uL7iXgadERUOkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKvvNohvVG2mne9ga8PDmYzkZHuJRFKdndFZRUlhloWCIigsf\/\/Z",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "SUSANA TAPIA",
    "correoContacto": "susana.tapia@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN DE COMPUTADORES Y ENTREGA DE TONNER",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56222221758",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29589\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:58",
    "ubicacionGPS": "LatLng(lat: -22.0892347, lng: -70.1944)",
    "horaLlegada": "11:56",
    "horaDespacho": "11:36",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 13:58:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 13:58:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 13:58:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2528', 2, 21773342, 111210, NOW(), 
				'11:36', '11:56', '13:58', 3, 'mantenimiento', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786557532.png', '', null, 'COMPLETADO','LatLng(lat: -22.0892347, lng: -70.1944)' )
				
[12/08/2026 13:58:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201461
[12/08/2026 13:58:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201461', 'KYO-I647', 1)
				
[12/08/2026 13:58:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29589 and
				    IDproducto = 'KYO-I647'
				

12/08/2026 13:58:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
12/08/2026 13:58:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201461'                    
				WHERE idllamado = 13703			
				TO ENVIO: micorreo@miempresa.cl, susana.tapia@eplicancabur.cl, donkhapone@outlook.com


12/08/2026 13:58:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13703			
				
12/08/2026 13:58:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

12/08/2026 13:58:52 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-Fn3mC0n6GrlwlX75udlfEjgk+sO-k1GuUFFKBsh_tC88Hij1s7C
12/08/2026 13:58:52 Detectado modo MULTIPART/FORM-DATA
12/08/2026 13:58:52 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786557532.png
12/08/2026 13:58:52 Envío correo: OK
------------------

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:57 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:58:57 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:57 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:58:57 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

[12/08/2026 13:58: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;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:58:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:58:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:58: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;
                

12/08/2026 13:58:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13703
            GROUP BY l.idllamado;
            

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13: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 = 13703
                and cs.estado_control = 1;
                

12/08/2026 13:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

[12/08/2026 13:59: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;
                

[12/08/2026 13:59: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;
                

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:59: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;
                

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:59: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;
                

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:59: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;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 13:59:09 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:59: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;
                

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/08/2026 13:59: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;
                

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:10 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 13:59:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:59:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59:10 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 13:59: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

[12/08/2026 13:59:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 13:59:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 14:36:17 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 14: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;
                

12/08/2026 14:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 14:36:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14:36:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14:36:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14:36:18 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 14:36:18 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 14:36:18 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 14: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;
                

[12/08/2026 14: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;
                

[12/08/2026 14: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;
                

12/08/2026 14:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 14:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 14:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 14:36:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14:36:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14:36: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 14: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:12 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:06:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:06:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:12 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:06:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:06:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:12 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:06:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:12 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:06:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:06:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13751
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 14:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77585343
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2772
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:06: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:07:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:07:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:07:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:07:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

[12/08/2026 15:25: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;
                

12/08/2026 15:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:32 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:33 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:25:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

[12/08/2026 15:25: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;
                

12/08/2026 15:25:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:37 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:37 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 15:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

[12/08/2026 15:25: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;
                

12/08/2026 15:25:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:38 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:25: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15:25:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:25:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:25: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;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:25:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:26:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:07 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26: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;
                

12/08/2026 15:26:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:26:19 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:26:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13597
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 11
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => No funciona
            [FechaLlamado] => 30/07/2026
            [HoraLlamado] => 13:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => L1455
            [SerieInternaMaquina] => EP2058
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:27:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:27:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/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 = 13597
                and cs.estado_control = 1;
                

12/08/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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:29:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:29:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/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 = 13751
                and cs.estado_control = 1;
                

12/08/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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:30:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:30: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:30:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:30: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:30:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:30: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/08/2026 15:30:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-A3f-KiidJLK4U4-UL8Y-498FBH90DpG4ShIRT3wdemTQMHRbWL2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2058",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "AVENIDA 18 DE SEPTIEMBRE 2850",
    "ciudadmaquina": "TOCOPILLA",
    "departamentomaquina": "ESC. B. O´HIGGINS RECEPCION",
    "rutTecnico": "21773342",
    "contador": "7027",
    "contadorColor": "8219",
    "contadorScanner": "0",
    "detalle": "Retiro",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13597",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrAJoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABBAEBBQQIBAQGAwAAAAABAAIDBAURBiExQVESE2FxFCIygZGx0fAVQqHBIzND4RYkUnLC8TRVYv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAwMBBgUFAQAAAAAAAAABAgMRIRIxQQQiUWFxgZETobHR8BQjMkLB8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBRb+Sp4yHvbk7YmngDxd5DiVR57bCvQDq9AtnscC\/XVkf1Ph\/0qXFbPZDaGwL+TlkbA\/f23e1IOgHIeKtjTxeWEYqnVdr4dJapfJFgzaTLZzIMgw1fuoGvBdJINd2v5jwHkN6141038VwpUq2PrNr1YhHG3kOZ6nqVIUJNPZF1GnOKvOV2\/b0CIiiXhERAEREAREQBERAEREARFBymWqYisZrMm\/8sY9p58AupXwiMpKKu9iVPYhqwumnkbHG0alzjoAsLl9pL2dn\/D8RFK2Jx09TXtyDx6N+yuraeX2xnbYtE1KAOrG8j5DmfErW43FU8TB3NSIN\/wBTjvc7zKtWmG+WYZOp1OI9mHfyyiwexkFPs2Mj2Z5hvEY9hvn1+S1KIq5ScndmulRhSjpggiIoloREQBERAEREAREQBERAF5c5rGF73BrWjUknQAKszG0NLDt7Mju9sH2YGH1j59Fi8lksztDcbUDT6+8VYjub07X9+HgrI03LPBkr9XClhZfcX2Y21hhca2LZ6RMd3eflB8B+b74r1h9mJprAyeckNiw7e2F+8N\/3fTgFK2e2XgxLGz2A2a4fzco\/Bv1V+uyko4gQp0Z1Hrr+i4R8AAGgGgC+oiqNwREQBERAEREAREQBERAFQt2yw7rbq5le0NOnelvqHyIOv6K+X5zishja+zs9K3VNm1LO7u4Q31t7WgHXlvHLerIRUrmPqa0qbik0t9\/A\/QZrMFeubEszGRAa9sndosxPn8hm5X1sHH3UA3SXJN3ZHPTp8\/JUJxVvHR1JMzDP+GueSY2Sb4yeo5ffAq2Z6TtM70HHReg4aI6OeG6dvT7G73lWKCjnczS6ipU7NreHL+y8Svq0jctmpiC+xPrrPkpNfV\/29PPieW5bLDYOphYCyAF0jh\/Eldxd9B4KVSo18dVbWqxiONvTiT1PUqQq5zbwjVQ6aNPtPf6eX3CIirNYREQBERAEREAREQBERAFznnirQvmnkbHGwauc46ALjkMjWxlU2LL+y0cAOLj0AWagp3trp23L5dWxrTrFADvk++vw6qcY3y9iipW0vTFXl+bnubNZTaGZ1TBRugrAkSW37vh092\/hwUTZr0HCWMq68Y+8pvDGykbyPWGjfE6cFpMhksfs7Qa1waxrRpFBGN7vL6rH4+octta12WrmL0hpnbEBoHDTdr4aBWxzF8IwVbwqRd9U\/kr\/AJ5ss46+Q2wnFiyX1cU0+pGDvk05\/Pf8F7xk02zGX\/CLb+1SsOLq0zj7J6fHcfHfzWsa0NaGtAAA0AHJV+bxEWZx760mjXj1on\/6HfTqoa74expfTuK1xd5\/Xw8ixRZ\/ZjLy2GSYy+ezdqHsnXi9o5+76LQKuSadjTTqKpFSQREXCwIiIAiIgCIiAIiIAouRvw4yjJbsH1GDgOLjyAUpZTKMOf2rjxTnEVabe9laPzHd9QPDepRV3kprVHCPZ3eEc8bjbW0t1uXy7ezVb\/49fkR9Pn5K2zm0MGHY2CJnf25N0cLeXQnT5c14zmebjexQox99fkAbHE0ahnTX6JgtnhQc67ef6Rfl3ue7f2PAfVWPOZbcIzRTTdOm+1y\/z6cHDEbPSy2vxbNnvrjj2mRn2Yun3yXLN6VNscRdI0bIDETpz3j\/AJrULN7bwu\/Cobce6StO1wdrwB\/vouRk5SySrUo06LceM+xpEXOGVs8EczPZkaHDyI1XRVG3czO1FCatNHnqG6etp3wH5mfe4+HkrzHX4cnRitwH1ZBvGu9p5gqS5oc0tcAQRoQeayVAnZjaN+Pk19BvO7UDuTXdP2+BVi7UbcoyS\/Zqav6y38H3+prkRFWawiIgCIiAIiIAiIgCweWv2cdtbabjpI3S22Ni3keo46D4jTn1Vrl9oLFq2cRgx3thwIkmad0fXQ\/vy818l2MgGFdCx3bv69535O8v6eX\/AGroJRzLk8\/qJSrdml\/Xn\/F4k7AbPR4pnpFh3f3pB\/ElJ1015D681dKk2bzL78DqdsOZeq+rK13F2m7X6q7Vc73yaqGj4a0bBV+eq+mYO3CGlxMZcGjiSN4HxCsF8IBGhGoK4nZ3LJR1RcXyVGytr0vZ2q46dqNvdkA8OzuH6aK4WY2P0rWMpjQNG17BLddd41I\/4hadSmrSZV00nKlG\/wCWwFWZ\/EMzOMfBuEzfWiceTunkeH\/Sh57O3MdfrU6VaOaWYdrR7va47hvG\/d+q6YvamheruNiVlSeMfxI5XdnQ+GvH5ooyXaRGdWlNulJjZnMOyVJ0FnUXKx7EodxPj9fFXaw2Wy2Oo7RQZXG2GzPPq2YmA6OHXXh\/cBWP+MpLOn4bhrVnU6akaD9AVOVNvKRTS6qEU4Tldr1v7GoRZf0nbC7qI6tek08HO0JHxJ+StcNVylWOT8TustOeQW9lvsdd+g15clBxstzRCtrdlF+drFmiIoF4REQBZfLZa1lrbsNhDqeFiwDuYOYB+\/Bc9qdoHMmOHqyCF7xpNO46BoPIH5lSsPe2ew9FteHIQlx3yPJ3vd1Vqi0tVjDUrKpJ01KyW7\/xFliMNUw1YRV26vIHeSkes8\/fJWCop9ssJD7Nh8p6Rxn99FEO2MtjQY7DWrGp4kafIFc0TeWWKvQprTFr0z9DptFipop25zFjs24N8jQP5jeevXd8QrbEZWDL0GWoToeD2Hix3MKl9J2wu6iOrXpNPBztCR8SfkqTJbP5fDV3XPSS5kh\/zAqktAHkNNR7lNRTVm8mZ1XTk6kIuz349fub6e1XrN7VieOIdZHhvzVXZ2rwtYb7gkdprpE0u19\/D9VXYrZbBXqrLjJJ7bJB\/Ufpoeh00Oo81dV8DiaxBix8AI4FzO0R7yoWgtzSpV5q8UkvcyFbaDu9p7dzHUprIuM0ZER2XEjTU7td24q3Nva+8P4NOCiw8HPILh8Sfkm0rRSz2HyLfVaJO6edNwbr9C5ahSlJWTSKKNKblKEpvD4xvkx1vZPM32Ce5lmy2ImkxtDd2vQHdp56KlrYOK\/UlgidLHl4CTJBMRpIP\/nxX6WqbObPR5VzLEEprXIiOzM3n56fNdjVezOVuij\/ACirvnO\/r3lds47DZKrJUfjoK9xjCyVhZ6xHAkE7\/omztmbD5KTZ64dQCX1n8iOOnv3nz1VBlZcpj7cVq5V7i9G4BtljR2ZQOvInhw03cQrHL5Knl8ZVy0FqKtkKhBMTnaOO\/gBxO\/ePDVScb+TKIVkvCUfS659TcIo2PusyNCG3G0tErQeyeLT0UlZtj2E01dBERDoREQEO5iMfflEturHM8N7Ic4cun6qP\/hvDf+uh+CtEXdT7yt0oN3cURIMVj6xDoaNeNw\/M2IA\/FS0RcvcmopbIL45oc0tcAQRoQea+oh0yV2hf2ZtPv4dhlpPOs9bj2fEeHjy57loMXlauXqCxWdu4OYfaYehU1ZnJ7PWadl2TwMvcS8X1gPVk8hw93yVl1LD3MjhKi9UMx7u7y+x221r99gHSjUGCRsgIG\/p+6uKFkXMfXsgad7G1+nTUKno5qrtFSsY6VprW3RuY+J\/XQg6czp04r5sXYc\/DvqSfzKkroyOYHH56\/Bdaemz4OQqRdbVF4kvmv+mhREVRsPMkbJWGORjXsdxa4agrE7QbP18XebkmUxPjyQJoGkt7HLUacB+63C8SxRzwvhlYHxvBa5p4EKcJOLKK9CNWNnvwcMaajsdA6gAKxYO706cPPXzUpY+B8uyGYFaVznYq04ljz\/Td\/bn4b+S17XBzQ5pBBGoI5pKNncUampWas1uvzg+oiKBeEREAREQBERAEREAREQFPm9nauXHegmG2wepM3dv5a9VQYyzNsvlZxmIZA2yRrZj3xnnroBvPHx38Ft1ysVobUJhsRMljdxa4ahWRniz2MtTp05fEhiX5uK9mC3CJq0zJYzwcw6hdVl7Gzd3Fy+k7O2THxL60j9Wu8Br+\/wAV7p7XNjkFbNVJKM2unbLT2CfmP1Himi+Y5C6jS9NVWfy9zSoucU0ViMSQyskYeDmOBHxC6Ks1bka\/RgyVOSrYb2mPHvB5ELP4W\/Pg7oweUJ7BOlWc8HDkPvhwWpVdm8PDmqDoJNGyN3xSab2n6dVOMuHsZ6tN3+JD+S+fgWKLObP5ieKY4XLDu7kW6N7j\/NHnzPzWjXJRcXYsp1FUjdBERRLAiIgCIiAIiIAiIgCIiALhap1rsXdWoGSs6OGv3wXdEONJqzMxPsg6tI+fC35qch\/plxLT4a8dPPVefT9rKA0s46K6wD24vaPw+nNalFPW+cmf9NFZg3Hy29jLjbivE7sXsdarP5jQHQ+\/RTYtsMHIBrbMZPJ8bvporlzWvaWvaHNPEEagqJJhsXKSX46q4nie5bqffou3g+DmjqFtJPzX2KHaCzg8zTDo8jDHbi9aGTUjTwP3uU3ZTNT5ek9tmP8Ai1yGulGmj\/7qWdm8MTr+HQ7\/AAU2vVr1IxHXhZEzoxuiOUdNkchSqqrrk0u+3J2REVZrP\/\/Z",
    "razonSocial": "SLEP LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BERNARDO OHIGGINS",
    "correoContacto": "calzadillae10@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "11",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:30",
    "ubicacionGPS": "LatLng(lat: -22.0857958, lng: -70.1894597)",
    "horaLlegada": "15:23",
    "horaDespacho": "13:58",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "0",
    "observacionRetiroMaqExterna": "con guia de retiro - funcionando",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 15:30:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:30:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/08/2026 15:30: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', 'EP2058', 1, 21773342, 7027, NOW(), 
				'13:58', '15:23', '15:30', 2, 'Retiro', 0, 
				'con guia de retiro - funcionando', '','1','8219',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786563055.png', '', null, 'COMPLETADO','LatLng(lat: -22.0857958, lng: -70.1894597)' )
				
[12/08/2026 15:30:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201462

12/08/2026 15:30:55 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '61980920' AND 
				serieinterna = 'EP2058' AND
				correlativo = 1;				
		
12/08/2026 15:30:55 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2058'
		
12/08/2026 15:30:55 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2058'
				   AND estado = 1
				
12/08/2026 15:30:55 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2058'
				  AND rutcliente = '61980920';
				
12/08/2026 15:30:55 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2058', 6, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
12/08/2026 15:30:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201462'                    
				WHERE idllamado = 13597			
				TO ENVIO: micorreo@miempresa.cl, calzadillae10@gmail.com, donkhapone@outlook.com


12/08/2026 15:30:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13597			
				
12/08/2026 15:30: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


12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                
12/08/2026 15:30:55 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-A3f-KiidJLK4U4-UL8Y-498FBH90DpG4ShIRT3wdemTQMHRbWL2
12/08/2026 15:30:55 Detectado modo MULTIPART/FORM-DATA
12/08/2026 15:30:55 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786563055.png
12/08/2026 15:30:56 Envío correo: OK
------------------

12/08/2026 15:30:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:30:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:30:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:58 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:30:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:30:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:30:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:30:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:30:59 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:30: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;
                

12/08/2026 15:30:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:31:00 - INPUT: {"rutTecnico":"21773342"}
[12/08/2026 15:31:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:31:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13090
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MÁQUINA PRESENTA VAYA, NO SE PUEDO OBTENER EL CONTADOR, YA QUE PRENDE Y APAGA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/06/2026
            [HoraLlamado] => 09:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 4515AC
            [SerieInternaMaquina] => TO2388
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13680
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 05/08/2026
            [HoraLlamado] => 16:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2778
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13597
                and cs.estado_control = 1;
                

12/08/2026 15:31:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13597
            GROUP BY l.idllamado;
            

12/08/2026 15:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:32:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:32:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:32:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:32:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:32:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/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 = 13751
                and cs.estado_control = 1;
                

12/08/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 = 13751
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 15:33:15
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-i38RGh_qU8W+Wd3sMPxBRjSaViW483uZ0lZbRrAEvnrQRzr0T6M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77585343",
    "serieinterna": "EP2772",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Pirwa 364, Calama",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "SUNWORK",
    "rutTecnico": "19969062",
    "contador": "1625",
    "contadorColor": "11368",
    "contadorScanner": "0",
    "detalle": "Se realiza instalacion impresora\n-Conexion pcs\n-Conexion escaner\nFirmado por Sabrina Palominos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13751",
    "observacion": "Se realiza instalacion impresora\n-Conexion pcs\n-Conexion escaner\nFirmado por Sabrina Palominos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAOkDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABDEAABAwMCBAEJBAYIBwAAAAABAAIDBAURBiESMUFRExQiYXGBkaGxwRUyQtEWIyRScuEHNDZikqKy8SUmM2OCwtL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQIDBQcEAgMAAAAAAAAAAQIDERIhMQQTQVFxIjJhgZGhsRQk0eEjwUJS8P\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAp0WraiDUM0Na0NpBKYjgECPfYnPqOeXUq4NcHNDmkEEZBHVVCooqb9NZ6OphaYLjBkfxYzkHoctPvXXpWqlppqmxVbszUjsxn95no+B9q2nFNXR59CrOM3GbvdtefLzRZURFiegEREAREQBERAEREAREQBERAEREAReZJGRRukkcGsYC5zidgBzKqzrnfbw+eqszWx0sI4WB+MykEE49O3qwe6tGLZlUqqnla75ItaKJ0\/eheaNzpGCOphPDNGM7Hod++\/uUsoaadmWhOM4qUdGEWMgYyefJZUFwiIgCIiAIiICtawpnRQ0t3gZmailaSf7uevtx7yuW+Tspq+1algY4xSANlwfwkbe3BPuCtNZSx1tHLSy\/clYWnHTKp9vBrtM3CxzMPlVDxOY3qcEn55HtC2g8unwzztog1N245rqvyi6ggjIOQVlRGl6zyzT9K8nLo2+G7\/AMdh8MKXWTVnY7oTU4qS4hERQXCIiA01lR5LRT1GM+FG5+O+BnCr2l9RVlzq5aauDQXM8WEhmMjiOfpj1KS1M4t05WloJPh429JAVbsrDT6ktHnZ8eh4jk9w4\/RaxinBnBXqSjXgk8vy7F5REWR3hERAEREAREQENqyd9PpyqdHzeAw+onB+C6rJAymslHFH93wmu9pGT8SuHWQJ03PgZ85n+oLustRFU2alfC\/jaImtJx1AwR71p\/h5nKn9y+i+SHpAKXX9VGzAZPT8fD6fNyfgVZ1WLcRcNbVtZHnwqWPwgcc3cj8QVZ1E9UTs2knwuytaqllhr7OYppGcVRhwa4gHdv8ANWVVHXcroPs2Zn3o5XOHrHCVa4ZGzQslb917Q4eoqZLspkUpfzVF0+D2iIszqCIiAIiIAqrfWfYmoKW+xtPgynwqkD1Yz7vi1WpctxoIrlQS0k33ZBjI5tPQ+9Wi7Mxr03OGWqzXUgdIcMVdeaWIAQxVAMeOxLh8gFaFSdGf8OvVfbZ3YmIAA6O4Sfocq7K1Vdoy2N3orz+QiIszrCIiAjNRMD9PVwPSIn3bqrWZ\/i6hsJz92icDv28UK3XpniWStb3gf7diqroWlfUVs1dJ92CMRMGep\/l81vDuM87aE3tMEv8ArO5arzcjabZJWiHxvDIBZxcPMgc8Huumlm8ppIZ+Hh8VjX8Oc4yMqN1UzxNNVoxnDQfc4FbrA\/xLBQniDsQNGR6Bj6LOyw3OpTe+ceFr+5IrluNRUUtE+alpjUzNxwxA4zvv8F1IqI2aurI8sLnMaXt4XEAluc4PZekRCQiIgInVEPjacrG4BLWB2\/oIP0UBQXZ9s0XTtgjfJU1D5I4g0E4OTurbcITUW2pgaMmSF7QO+QQq5oKp8W2z0zt\/AkDhk8g4dO3I+8raL7HRnBWi\/qFZ2bTRLaftH2Rb\/Dkdx1Eh45nZyCVKrBIAyTgBVd9ZdtSzuitzzRW9pLJJtuNxz0+HbnuqWcndnQ5RoxUIq\/JGj+kEZhoR3e\/6Kd05UeU6fopM5IiDDv1bt9FUbjYZPt6ktLK+aodIwyudLuG8+mf7vyUxpCQ0FRXWSc\/rYJC9vZw2GR8D7VrJLdpI4qU5fUuUlZPLzSLSireob\/LBQia01dK8NcRIS5pcOXIE78+y0wXC8WiGnqq9\/llLU+c5wYQ6LI2G+\/w6elZKDtc63tMFLDbTjwLUirQ1DXy1flcFDJJamgt4mt85558QyBgbgdtjust1BeBwl9keWTDELmk\/eJ24v3fT6j3TAx9TT8fRk5W1tPb6V9VVScETMZOCeZwNgtsUsc8LJonh8bwHNcORCqVfcr\/WUMltmspE1SCA9p80N6jtn2qzW2kNBboKV0hkdGwAuJzk9d+yONkTTrOpNpLK3K2ZwXjU1FaMsd+uma4NfE1wDm5Gc7+sLhfremlhHkdDUzTE44C38s9FM1FmttXUeUT0cUkpIJeRucDAXaGgEkAAnme6XgloQ4V3J9pJdD5jHLcJ7lVXhsfBU0r2yyRgEYHI7Hf+WV9Ft1fDc6GKrgPmyDcZ3aeoKQW2kppZ5YoQ19QSZT+\/nuOXU+8qtRcWk9Q+Cc\/ZlefM32jd\/LPuI54V5NVNDnpwlsrvJ3T168H+S3oiLE9EIi1zTR08L5pnhkbBlznHYBBoRGrbgaCxShjgJKj9U3vg8\/hleNFgDTcJHV7yf8RUPHHLqR9Ze6pvDTU8T2U0R7huc\/HPr9SmdGf2ag\/if\/qK2krQsedTm6m0Y+Fnb1WZJXSA1Nqq4ACS+FwAbzJxso7SE7ZNPwxZHHAXMeB03JXXXXyhttZFTVUhjMjS7iwcNxjGfX9FD+SXe13CeoslNBU0la4SkOeNuuwJGOZ79PUKpXjZm1SSVVTjnbJ21LSigI9W0kIljucb6OohODEWkl3pG3JaBqC9ywipp7KJYJHfqi1+SRvgnHLoowSL\/U0+DuWZFXG3LU0sopvsqKJ+W8UznZYAcEnsevLKk7VLdZBMLpTwxFhAjdE7PHtufRuocbFoVlJ2SfoSCw5wa0ucQABkk9FE3S43SmrG01BbDUh8XEJScNa7fY9Og6jmo6a36ruAeyetpaeCU8L42cw3rg8OeXpUqPNkTrWbUYtvoWdrg5oc0ggjII6qnaVjdRaoudCRhoDjg88Bwx8HKXs+lqKzVHlMUs0k3BwkvcOH04AHzyvQs0zNVG7RyMET4uCRuPOJxj6BSmldXMpxqTcJtWafsSs8LKiB8Mgy14wVWjT3bTDQ+CZ1fQcYHglpL4xnYD3492ytKKqlY3qUlPNOzXErOnoai43mqv1RG+Jkg8OBjic4wN\/Vt78ruvGnKe7TtqPFfBOBwl7PxNzyPsyPaphFLm73RWNCODBLPj5kIzSNlaI\/2TJZ3cfOPp3UyY2FgYWN4BjDcbbcl6RVcm9TSNOEO6rHmONkTBHGxrGN5NaMAL0iKC4REQBERAFHXy1R3e2SUzgBJjiid+64cvy9qkUUp2d0VlFSi4vRkLpW6G5Wholdmopz4cmee3I+74gqaVUqGDT+rYZ4yRS3I8MjANg\/v7yD7SrWrTWd1xMdnk8OCWscv2FW7pR3e\/VBoZIGUlDHION\/Hkybcx357bevcYVkWueN8sEkbJDE5zSA8Ddp7qIuzL1ae8jZ6fJy1sMVLYqmGJgjijpnhoHIANKqOnqW4XegipGVEtJRwB5dJHsXuceXPcYz07rVSC93yxTsfVNbR05e6R53dI4Diwe\/P\/dWPRgA03Bgc3vz\/iK1awRfM4IyW0VY5NK3rob6bS9qpuPig8oL+Zn8\/rn6ndSzWhrQ1oAAGAB0WUWLbep6MIRhlFWOWa20NRUCompIZJhjD3MBK6QABgDACyii5ZJLQIiISEREAREQBERAEREAREQBERAEREAREQBEXBcbzb7UzNXUNa7GRGN3H2KUm9CspKKvJ2IjWR8T7Mpm545aocODv2294VmVStjZ9R6hbeJoXxUVM3EDX9T\/ALknI7AK2q88konPQeOUqnB6eQREWZ1FOs37MzUdBjDY\/Ecwejzh9ApTRn9moP4n\/wCoqKrv2TVdyOSG1NA879Twjl35fFS+j2cOmqbn5xedxj8RW8+7foebs+VVR5Yl7om0RFgekEREARFy1VzoaIE1NXDFgZw54z7uZS1yG0ldnUirlRra2skEVLHPVyHZojZgE9t9\/gtTbvqmtHFSWaOBhOxmO+PaR8lfdy4nO9qp3tHPpmWhFV\/JtZVAHFW0tODuQAMj\/KVn9Hb5Uf1nUUrc8xED9CEwLixv5Puwfsv7LOtMlXTRDMlREwd3PAVe\/QiCXerudZOTzPEBn35W1mh7M05Inf6HSfkEtDmMdd6QXr+iUferVHs+40oPbxmk\/Na3ais7cZuMG\/Z2fkudmkLEzH7FxEdXSvP1W1umLIzOLfHv3JPzKdjxF9p5R9zDtUWRpwbhH7AT9F4OrrE04NePZE8\/Rb26es7RgW6n9rMrYLJaWjAtlJ7YWn6J2PEfc84+5HnWdkAz5Q8+jwnfktbtcWduMGd3qj\/MqYFtoAcihpwR\/wBpv5La2lp2Z4YI257MAS8OQw7R\/svT9leOuqBxxBSVcp9DAPqsfpbWv\/6OnayTqPvcu+zSrMGhow0ADsFlMUeQ3dZ6z9kVgakvbzlmm5wDy4i7\/wCU8r1fV7R0FNSNP4nkEj4n5KzomJcENxN96b9l\/RWPsPUdb\/Xb74IP4acH3bcK6qDSVvpJ\/KJ+OrnyDxzHIz3x+eVOojnIlbNTTu1d+OZgAAYAwAsoiodARFpqqunooHT1MrYo283OKENpK7KfrPipbxFUuGIpqR8WQNy7Dh\/7NVg0u0t03RA\/uE+8kqHueoaa8HyG3W6S4OzkO3Y1p798evC9x2bUdwjYK25ChiaMCKHcgdBsfqVu12UnkebCSVeU6favy\/OhZKitpKQZqamGH+N4b81E1OsrNTjzZ3znOMRMJ+eAtdNom1RHin8aqf1Mj8D4YUtS2q30WDTUcMTh+JrBxe\/mqdheJ1fcS5L3\/BBnVVwq9rbYqiQHlJJkN+Axz9Kf841pxiloGnrsTj\/MrOijGlohuJvvTflkVf8ARW4VYzcb7PJk7xx54ficfBdVNoyy0\/3oHznvK8\/TAU8ibyXMlbLSWdr9c\/k009JTUjOCmp44W9mMDfktyIqG6SWSCIiEhERAEREAREQBERAEREAREQBERAEREBDXrUcFqeKaKM1NY8ebCzp2z+XNR9Lp6tu87K7UEpd1ZStOGtHpxy9ntUnRWynivldWjidK4gDiwQ3IBONshSy0xYckcipus3Ko8r5Lh58zXDBDTRCKCJkUbeTWDAC2IizOtKwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "null",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "SABRINA PALOMINOS",
    "correoContacto": "sabrina.palominos@sunworkchile.cl",
    "correoCliente": "SABRINA.PALOMINOS@SUNWORKCHILE.CL",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "972402187",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"29607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"29607\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R640\",\"id_control\":\"29607\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:33",
    "ubicacionGPS": "LatLng(lat: -22.4509726, lng: -68.9002168)",
    "horaLlegada": "14:34",
    "horaDespacho": "12:35",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 15:33:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:77585343

[12/08/2026 15:33:15] [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('77585343', 'EP2772', 2, 19969062, 1625, NOW(), 
				'12:35', '14:34', '15:33', 1, 'Se realiza instalacion impresora
-Conexion pcs
-Conexion escaner
Firmado por Sabrina Palominos', -1, 
				'', '','1','11368',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786563195.png', 'Se realiza instalacion impresora
-Conexion pcs
-Conexion escaner
Firmado por Sabrina Palominos', null, 'COMPLETADO','LatLng(lat: -22.4509726, lng: -68.9002168)' )
				
[12/08/2026 15:33:15] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201463

12/08/2026 15:33:15 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '77585343'
				   AND serieintmaquina = 'EP2772'
		
12/08/2026 15:33:15 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2772'
				   AND estado = 1
				
12/08/2026 15:33:15 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('77585343', 'EP2772', 1, 1, now(), 'Pirwa 364, Calama', 'Calama', 'SUNWORK');
				
=========================================
FECHA: 12/08/2026 15:33:15
listaInsumosUsadosConsolidado===

idReport:201463

idInventario:EPS-I302

idControl:29607

cantidadAsignada:1

cantidadUsada:1

[12/08/2026 15:33:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201463', 'EPS-I302', 1)
				
[12/08/2026 15:33:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29607 and
				    IDproducto = 'EPS-I302'
				

12/08/2026 15:33:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
=========================================
FECHA: 12/08/2026 15:33:15
listaInsumosUsadosConsolidado===

idReport:201463

idInventario:EPS-I303

idControl:29607

cantidadAsignada:1

cantidadUsada:1

[12/08/2026 15:33:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201463', 'EPS-I303', 1)
				
[12/08/2026 15:33:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29607 and
				    IDproducto = 'EPS-I303'
				

12/08/2026 15:33:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
=========================================
FECHA: 12/08/2026 15:33:15
listaInsumosUsadosConsolidado===

idReport:201463

idInventario:EPS-I304

idControl:29607

cantidadAsignada:1

cantidadUsada:1

[12/08/2026 15:33:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201463', 'EPS-I304', 1)
				
[12/08/2026 15:33:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29607 and
				    IDproducto = 'EPS-I304'
				

12/08/2026 15:33:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
=========================================
FECHA: 12/08/2026 15:33:15
listaInsumosUsadosConsolidado===

idReport:201463

idInventario:EPS-I305

idControl:29607

cantidadAsignada:1

cantidadUsada:1

[12/08/2026 15:33:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201463', 'EPS-I305', 1)
				
[12/08/2026 15:33:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29607 and
				    IDproducto = 'EPS-I305'
				

12/08/2026 15:33:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
=========================================
FECHA: 12/08/2026 15:33:15
listaInsumosUsadosConsolidado===

idReport:201463

idInventario:EPS-R640

idControl:29607

cantidadAsignada:1

cantidadUsada:1

[12/08/2026 15:33:15] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201463', 'EPS-R640', 1)
				
[12/08/2026 15:33:15] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29607 and
				    IDproducto = 'EPS-R640'
				

12/08/2026 15:33:15 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                
12/08/2026 15:33:15 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201463'                    
				WHERE idllamado = 13751			
				TO ENVIO: SABRINA.PALOMINOS@SUNWORKCHILE.CL, sabrina.palominos@sunworkchile.cl, donkhapone@outlook.com


12/08/2026 15:33:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13751			
				
12/08/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 = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/08/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 = 13751
                and cs.estado_control = 1;
                
TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

12/08/2026 15:33:15 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-i38RGh_qU8W+Wd3sMPxBRjSaViW483uZ0lZbRrAEvnrQRzr0T6M
12/08/2026 15:33:15 Detectado modo MULTIPART/FORM-DATA
12/08/2026 15:33:15 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786563195.png
12/08/2026 15:33:16 Envío correo: OK
------------------

12/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:33:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:33:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:33:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

[12/08/2026 15:33:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:33:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:33:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33: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.cliente AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13751
LIMIT 1;
        

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:33:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13751
                and cs.estado_control = 1;
                

12/08/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}[12/08/2026 15:56:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 15:56:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [RutCliente] => 65093790
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 11/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [RutCliente] => 77585343
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

)
[12/08/2026 15:56:05] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
[12/08/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;
                

12/08/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:56:07 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:56:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:56:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15:56:07 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:56:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15:56:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15:56:07 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:56:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:56:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15:56:07 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 15:56:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:56:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15:56:07 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 15:56:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

[12/08/2026 15:56:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 15:56:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 15: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:53 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:03:53 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 16:03:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:53 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:03:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:55 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:03:55 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 16:03:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:03:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:56 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:56 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:56 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:57 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:57 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:57 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

[12/08/2026 16:03: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;
                

12/08/2026 16:03:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:03: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;
                

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13767
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3057
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:03:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:03:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:05:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:06:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:06:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:06:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/08/2026 16:07:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KkkVmnpkgoRuj7H3k0Yd24P1hkSXcfdFnOTT21.4qmztVu_0O8i
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO3057",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "CHANCADO",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "CHANCADO",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro de impresora toshiba en sede schwager calama\nFirmado por Corina Cruz",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13767",
    "observacion": "Retiro de impresora toshiba en sede schwager calama\nFirmado por Corina Cruz",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACSAS0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xAA\/EAABAwMBBgMFBwIFAwUAAAABAAIDBAURBhIhMUFRYRMicRSBkbHRFSMyQqHB8FLhJDNTkvEWcoIlNFViwv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAIBAgMGBQMFAQEAAAAAAAABAgMREiExBBNBUWFxIjKB0eGxwfAjM1KRoRRC\/9oADAMBAAIRAxEAPwD6W69TwaqFsqI2tp5YwYHgbycc\/eCPgrtZ7WFHI+giuFOPv6GQSA\/\/AF5\/AgH3FXNBVtr7fBVsxiVgdgHODzHuO5XklZNHPTk1UlCXddvgkIiKh0BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBzmhZUQSQSDLJGlrh1BGCs5pKY0c9bY5nHxKaVzoyfzN4bv0P\/ktOszqijlop4dQUI+\/pyBMOTmcN\/yPY9lpDPw8zlrpxaqrhr24mmRR6Kugr6KOrheDG9ufTqD6KsrtXWmjf4bZjUSZxswjOPfw+CqotuyRtKrCMcTeRdosx\/1zSf8Ax9Z\/tH1Uim1pZqggOklgz\/qs+mVO7lyM1tVF5Yi\/ReIpY5o2yRSNkY4Za5pyD717VDoCIiAIiIAiIgCIiAIi\/CQBknACA\/UUG3Xmguof7HOHujPmaRgjv6Kcpaa1KxkpK8XdBERQWPLnNYwvccNaMk9AuVLW0tdGZKWojmaOJY4HHr0SspIq6klpZwTHK3Zdg4K+eRWmptV4NJJVmjqSP8PUZIjk7Ejhn+xC0hFSTzOWvXnSkrRumfSlznqIKaPxKiaOJmcbUjg0fErN0+pqq2TsotQ05ikI8tQwAtdv4kD9vgolz9krtWwsuMu3b5oh4BbL5HHrkHqSMoqbvmRLao4bx1vazyt3NOy8WyR+yy4UxdnGPFG9S2uDmhzSCCMgjmqeTSVkkZs+x7O7AcJHZH6qCdHeyAvtVzqaaTltOyOPYBRaD4lsdeOsU+z9yXc9U0tsrTSupqiZ7WguLGbhx6+iiDXdvacS0lXHngdhv1Xu1Wi7tvn2jcpoiWxhh8IAeJuxvwOS0ZAIwRkFWeBZWuUhv53lfD0a+Sih1nZZnhpnfHnm9hAHwVxTVVPWRCWmmZKw\/mY7K5zW2hqGls1HA8HjtRhUk+jIIpPHtVZPQzAHGy4kenX9VHgfQtfaIapS\/wAZpUWUkueobCR9oU7a+lbxnj3EDqcDd7x71c22\/wBturB7PUASc4pPK8e7n7sqHBrMvCvCTwvJ8mWSIiobhERAFQ3jUMcMz7ZR0xrqt7SDE0ZaM8jjsump7pNb6KOGkGaqrf4UQHHfxxvBzvG9dbHYoLNAcHxamTfLM7iT0HZXSSV2c05TnLdwy5sxdLap4blT2q8zTUtNUedsbH5aXHgOYHD5Ld0Fmt1sB9kpWMJ4uPmcfed64ahs7bxbjG3dUR+eF2cYd09646Yu77lQuhqMirpTsSh3E9D+nxCvKTlG5hRpQo1MDWuj+xdqLV2yhro3MqaWKQO4kt3+ueIUpFjex3uKkrNGSntl00zK6ps7nVVFgmSnkOdgccj+2\/rlXlovlHeoS+ncRI0eeJ34m\/Ud1YrP3nTZqJ\/tG1zGkrm78tOBJ69D3581pdS8xyunOjnTzXL29jQIs9aNTsnk9iujPY6xnlPieVrz2zwPDctCqOLjqb06kaivFhERQaBERARLlcYLVROq6nbLGkDDG5JJ\/nNdKOrgrqVlRTvD43jIPTse6\/aylirqSWlnGY5WlrscfVfPHNu2jrkCCTC87v6JgO3I\/qFpCCkrcTkr15UZJtXj9D6SirbPfKO9Ql9O4tkb+OJ\/4m\/Ud1ZKjTTszpjKM1ii7oyl7sU9vqTerKfDmZl0sQG5w5kD5j4K2sV9p73S7bMMnYPvIs8O47K1WP1BZp7XVfbloPhlnmmjbwHU45jqFompqz1OScXQe8gsuK+6Ngip7HqOkvUQaCIqoDzwn5jqFaTQsqIJIJBlkjS1w6gjBWbTTszqhOM44oO55gqqeqDjBMyUMJa7ZdnBBx+yj3a0094onU04weLHgb2HqFhYaGvs1+dSRVXssxOYXOJEcw34B9eG\/mtLbtVt8X2O8wmgqhgZfkNd338Pl3Wrg1nE44bTGonCqrcOhEt1aI5n6c1CxsmCBDI8bnjlv+R9yg3vTVVboHey+JWUJJIhwS6A9Rx95+PVam82anvlGGlwbK3zQzN3lv1BVVaL7V0FYLRfQWS5xFUO4PHLfz9fjvUqT1j\/AEZVKUV4KmnCX2ZB0zq5sTG0N0kOyN0c5347O+vxW1a4OaHNIIIyCOayWo9HtqNuttrQ2Xi+EcH9SOh7Kr05qqS1EUVeHvpgcA\/mi93Mdv8AhJQU1iiKdeezy3VfTgz6Ei5wzR1ELJoXh8bxlrmncQuiwPU1CIiAKnuOmLZcCZPCNPPnIlhOyQeW7hyCuEUptaFJwjNWkrmUEeqLFkRll0pWjcD+MD04+7epNJrS3ySGGtiloZQQC2RpIB9Rv+IWiUeroKSuZsVVPHM0cNtuceiviT8yMNzUh+3L0efyeqeqp6tm3TTxzN6scD8l2WcqNE25ztuklnpJBnBY\/IHx3\/qrGzUNfQRSx1twNYC77tzhvA7k71DUbXTLwnVvacfVMqp812v4Ynb2UUG3gciRz\/3D9FpnZ2TsgE43AnCzNGRT6+rGyt81TCPDdx4Bpx6YH6LTqZ8OxXZ88b6so7NfpqqumttxgFNWxklrRwc3t6D4qFf6aWzXOPUFEwludiqjG4Oaef8AOYBUzUlldXRNraPLK+m80bmje\/G\/H0\/uulmukGoLY+KoYPGDfDqYSMcd3wKlWXiXqZNSf6U3nrF\/nFfQtKapirKaOogeHxyN2muC6rKWSWTT94ksVU8mCY7dJIeeeX85jutWqSjZnRRqbyOeq17hERVNivu1korzDsVMf3jQQyVu5zPr6FUXtF70sNmpablQA7pRnbYO\/HA7H4ha1eJZY4YnSyvDGMGXOccABXUmsnmjnqUU3ji7Pn78yLbrtQ3WLbpJ2vI\/Ew7nN9Qpcj\/Djc\/Zc\/ZGdloyT6LOO0\/Y71Ia63VJieT5nU7+Z45HI\/D0WjjZ4cbWbTnbIAy45J9SokktC1KVSS8Vu64lVZtR0l4kkha18E7CfupOJHUfuFbqivmnWV3+MoSKa4RnabIzy7Z74591ysOpXVc5t1zYIK5h2d4wHn05H58lZxTV4mcKsoSwVeOj5\/JolHraKnuFK+mqYw+N43jp3HdSEWZ0tJqzPnd10\/cdOVPttBLK6Fu\/xWbnM7OHT9Fo9P6rp7o2OmqSIqzGMflk9O\/ZaBzQ5pa4AgjBB5rIX\/R2Say0DYe3eYG7snq08vRbqSmrSPOlRqbO8dHNcV7GwX4QCMEZBWO07q922KG7ybLh5WTv3b+jvr8VsQQRkHIKylFxdmdlGtCtHFEwepNPS2eo+1bYSyEO2iGbjCe3ZXOndWR3QtpKsCKqxuI\/DJ6dD2Wic1r2Fj2hzXDBBGQQvn18sMdnuQfkso6l\/wB1K3jA7j7wPl3C1i1NYZanFVhLZp7yl5XqjYXyyQ3qk8Nx8OePfFKBvafoqi2TRXyKSyX2DNZSncScFwG7IPX58V+UV\/rLPUNoL4DIxx+6rG72uB4ZPP14qXfrSLrTx3O1Pb7ZFh0Usbv8wdM\/L4KFdZP0ZeTjO84LPiua\/NCD4V60o7MRdcbaMbQP4oh2Gd3y9FZOfaNXW4xtcC4DIBwJIj1x\/AV009fWXilLZAI6uLdLFw94HT5Lhc9KU9TOKygkNDVsO0HMHlJzxI6o3n4smTGDwXp+KL4P7ezIluvNRY6sWm+O8gGIKrfgjlk9O\/Ln1UnUGl6a6xvqaVrY6wjIcNzZPXv3VZVXGQwOtmq6RzGn\/Lq4mZAP9W7n6e8L1ZbzJZaiO218wnopP\/a1TTluOnp25eitZ+ZamKqQa3dTOPXVd\/syqtd5uGlqt1FWQOMWcvhJ3t7tPD9ivoNJVwV1MypppBJE8ZBC43G1UV1i8OsgbJj8LuDm+hVXYdPVdjr5tmt8Wje3IZjB2upHLdzHFUk4zV9Gb0adWhLBrH\/UaBERZHcEREAREQBERAZjV0Ro5qG9xNJkpZQ2TH5mccfMf+S0cE0dTBHPE7ajkaHNPUFeKykirqOWlmGWStLT27rP6VqpKKeewVpxNTuLoieDm9vn6HstPNHscv7dbpL6\/Jp1lr\/Qy2ivGobe3JBxUxAbnA8T9fitSvL2NkjdG9oc1wIcDzCrGVma1aaqRtx4dGUtxoqXVVljmgeBJjbhk5sdzafhg+i8abvUlW19vuHkuFMdlwdxeBz9evxUBj5NH3bwXkutNU7LXHJ8F38+I9FN1HZ5asRXW2O2a2nG0Cw\/5renc\/POFpZaPTgcilK+8S8Sykuf5w\/o0KKtsd5ivNF4zRsSsOzLH\/SforJZNNOzO6ElOKlHQLy9jZI3RvaHNcCHA8wvSKCx8+ulBX6SuQrLe9wpZDhp4j\/tcP52Wwsl4hvVA2ePDZG7pY872n6dFLq6SCupn01TGJInjBBWBqKav0Zd21EJMtK84BPB4\/pd0P8Az2W6tUVnqebJS2SeJeR69D6IqLUWnWXaMVFORFWxjyPG7axyP7FWlvr6e5UbKqmeHMeN\/Vp5g91JWSbizulCFWFnmmZKw6plbUC13keHOw7DZXbiT0d37\/8AK1qotSabivMPjQgMrGDyu5PHQ\/VU1h1TNb5vsy8hzQw7Aldxj7O6jv8AwaOKmrxOSFWVCW7qvLg\/c2yL8a4OaHNIIIyCOa\/Vid5nNRaUium1VUhbFV8XA\/hl9eh7rPWbUlbYpjRVzHvp4zsuiIG3Ge304L6IqLUWnY7vGKiDEdbGPI7k\/HI\/VbQmrYZaHn19mknvaOUvqW1JWU9fTtqKWUSxO4OH83L8r6GC40clLUMDmPGPQ8iO6wNolulHVSx23EdUw\/fUMvB+Obc\/IEHpkcNAzW1LC4Q19HU084A2wGggbvXPuwodNp+EtT2uE4fqZfQ8aeLHe1acucTJXUpywPGQ5nUZ9QR6o\/TdxtEzqiwVh2SCTTTHc7d8CfXHqo4uFLdNW0FbbBI9wBZOS0gAb+O7pn4BbFTJuL7kUacKsbfxeTXLuYdouM+o6Sp+y5aWt28VBaMRvbzPHfuzz6Djx3CIs5SxHRRo7u+d7nKopoKuEw1MLJYzxa8ZCyN30TNhxtU33JdtezPccA8Mgnj7\/itmiRm46CrQp1VaSIFkiq4LRTw1w+\/Y3Zd5to9slT0RQ3d3NYxwxS5BERQWCIiAIiIAiIgCzmqrfK3wr3RHZqaPe7AztM\/tv9xK0a\/HNDmlrgCCMEHmrRlhdzOrTVSDiyNba+K50EVXD+GQb25zsnmFKXz7Td2+xK+aCcOFDLIWF53hjxzz8\/7L6A1wc0OaQQRkEc1M4YWZbNXVWF3qtThW0VPcKV9NUxh8bxvHTuO6zEFbWaRqhR1+3PbHnEMwGSzt\/b4dFr1wrKOCvpJKWpZtxyDBH7hIytk9C1Wk5eKDtJflmZu6UE9qrRf7M3bjeNqohbwe07yfQ9uHFX1qutNd6NtRTu7PYeLD0KoLZUz6auos1dIX0cxzTTO\/Lnl23\/A7+BXu52mqstabxZG5ad9RTDgRzIHTty5K7V8n6M5YTcLzisv\/AEuT5o1KKFarrTXejbUU7uz2Hiw9CpqyatkzvjJSV1oFxq6SCupn01TGJInjBBXZFBLSaszBGOv0VczIxrp7fMQCcbiOh6OH6\/La0VbT3ClZU00gfG8bj07HuulRTxVUD4J4xJG8Yc13ArGyU9ZoyvNRB4lRbJSA9v8AT69+h5rbKp3OGz2V5Zw+nwbZUWpNNxXmHxoQGVjB5XcnjofqrWirae4UrKmmkD43jcenY91IWabizrnCFWFnmmYDT+pZrNMbbcw\/wGOLcne6E+nMLeRSxzRNlieHseMtc05BCzmrNOiviNwpWZqox52f6jR+4\/nJU1ju8tlhbUN2p7ZK7ZkYN7qd\/wDPj2K1lFTWKOp59OpPZp7qpnHg+n5\/Rv0XCkrKevp21FLKJYncHD+bl3WB6aaauikv9gFyDaukd4NfDvjkBxtY5H6rzYr59ph9vuEQjroRiSNzdzwOeP2V6qLUVjdXMbXUOY7hB5mObuL8clpFprCzmqU3CW8p+q5\/JcxwQwkmKJkZdx2WgZXRU+nr4270xjmHh1kHlmjO4\/8AcB\/MFXCo007M3pzjOKlHQIiKC4REQBERAEREAREQBERAEREAREQGPs1DCZ7lp+5tDtqTxIiTvd3aTzAwfeV6t1wn0xX\/AGRc3F1I4\/4eoPADv2+XorW+WBl0fFUwSmnrISNiVu7dngf2VLW3KQwfZ2qqB7WOPkqohuB37xjdnhw94W6eI8uUXR6W0fBrkzZAgjIOQV+rF0F3l05swTye3WuQ\/cVMRzsdv7LYQzR1ELJoXh8bxlrmncQspRcTtpVo1FyfIhXy0RXm3up3kMkB2o34\/C76KBpq8Szh9ruHkrqXy4O4vaOfr8+K0CotRWN1cxtdQ5juEHmY5u4vxyUxaawsrVhKMt7DXiua9yLdbVU2isdebM3vUUw4PHMgK2tF7o7zB4lM\/D2jzxO\/Ez6juuOnr428UhEgEdXDulj4e8fzcol302\/2gXGyPbSVjN5a3ytk93DP6HmrPPwy1M43it5Rzi9V7exokVFZdSMrZPYa9vstwYdl0bhgPPb6K9WbTTszqp1I1I4osLnPBFUwPgmYHxyDZc08wuiKC7Vz502G5aa1G6monPlGNtkZz98zpgcTxHqFrrRqOiuwEefAqh+KB53g9jzULWFC80sV1pjs1FE4OyObc\/sf3Uiaz2rUlFFWuj2JJowRLFuI6g8j03reTUkmzzaUKlKpKEHlrZ8uheLKU0MVBraqoTEDTXCHaEZHlJ4nI4Hg\/wCK6DTV2oyDb79MG5HkmBIH6kfoplqsM9PWfaFyrXVdXjAO\/ZYN+4e49FVWinmay3lSUU4Ws+hXVdquGnal9fZPvKQ+aalJzj0\/mVdWq\/UF3jb7PMBLjLoXHDh9fUKyVHdNK0VcXT0+aSqx5ZIjgE45j6b1GJS8xbdzpO9LTl7F4iy4qNVWk7M1PHdIc4Dozh\/1\/Q\/X9\/6lvL8lmm6ho6OLuP8AtCjdvgW\/6YLzJp9mc9SQCz3SkvtN5MyeHOGj8WRzHcZHwWrWSmp75qWSKKspGUNC1we9rvxOwcY6549FrGgNaGjcAMBTPRJ6kUM5yklZP8Z+oiLM6giIgCIiAIiIAiIgCIiAIiIAiIgC5zQx1EL4ZmB8bxhzXDcQuiINTLXDREEviOt9U+m8Q5dGd7D2\/mVVUr77pGfYngdNRE5cGeZncg\/lPrhb5fjmhzS1wBBGCDzWqqO1nmcctjhfFTeF9DPwa0tc1W2El8cbhumeMNz0PT\/haAEEZByCsdftGHDqm0tHA7UB\/wDz\/PTorDSt4oZaGK2sL4qiBuyY5jvceeOu\/lySUYtXiVpVqqqOnWt0PGorXLTSi+2sbFVDvla0bpG8yR8+oVzarlFdrfHVw7toYc3+l3MKYsjPtaTv3tDG\/wDptccPb\/pu\/t8s9FC8StxLz\/QnjXlevTr7l3drBQ3duZmeHMPwzRgBw+qpWVt903hlfEa+gYMCaMZcwY\/nH4rWNcHNDmkEEZBHNHNDmlrgCCMEHmoU7ZPQvOgm8cXZ\/mvMiW+7UN0j26OobIQMuZwc31HFTFnrhpCkqJvaaCV9BUg5Dovw59OXuIXAS6vt3ldDT3GMfmG52P0+R4KcKflZXfVIZVI+qz+TQ1scc1FPHKAWOjcHZ6YVLolzjp1gJBDZXAbuAUaeXU14idRut8dHDIAJHl+8tPEc+R6dVoLbQQ2ugjo4MlkYO93EknJJR+GNiIveVVNKyS45EpERZnWEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVPe9O0t3HigmGrYPJM3dv5Z6q4RSm07opOEZxwyWRk4tQXGxSikv0D5WZwyqjG4\/oM\/PsrydlDqG1PiZK2WGUbnt4tPI9jlTZYo5o3RyxtkY4Yc1wyD7lnazS0tLM6ssFSaObdmIuOw7j6\/A7le8X0ZzONSmreaP+\/J70rWysZNZ6x49oonbLMne5nDd1x8sLRL53W3K50t6pq6roDT1cR2ZXtyGzN+XAHfnHphfQmuD2Bw4EZU1I2d+Y2Srii4fx+h6REWR2BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB5cxj8bbQ7ZORkZweq9IikqtWERFBYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "SCHWAGER",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "FRANCISCO ITURRA",
    "correoContacto": "fiturra@schawger.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:07",
    "ubicacionGPS": "LatLng(lat: -22.4691117, lng: -68.9240533)",
    "horaLlegada": "15:56",
    "horaDespacho": "15:33",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "0",
    "observacionRetiroMaqExterna": "Retiro maquina shwager",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 16:07:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 16:07:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[12/08/2026 16:07: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('76145047', 'TO3057', 1, 19969062, 0, NOW(), 
				'15:33', '15:56', '16:07', 2, 'Retiro de impresora toshiba en sede schwager calama
Firmado por Corina Cruz', 0, 
				'Retiro maquina shwager', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1786565246.png', 'Retiro de impresora toshiba en sede schwager calama
Firmado por Corina Cruz', null, 'COMPLETADO','LatLng(lat: -22.4691117, lng: -68.9240533)' )
				
[12/08/2026 16:07:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201464

12/08/2026 16:07:26 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76145047' AND 
				serieinterna = 'TO3057' AND
				correlativo = 1;				
		
12/08/2026 16:07:26 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'TO3057'
		
12/08/2026 16:07:26 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO3057'
				   AND estado = 1
				
12/08/2026 16:07:26 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'TO3057'
				  AND rutcliente = '76145047';
				
12/08/2026 16:07:26 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'TO3057', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
12/08/2026 16:07:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201464'                    
				WHERE idllamado = 13767			
				TO ENVIO: micorreo@miempresa.cl, fiturra@schawger.cl, donkhapone@outlook.com


12/08/2026 16:07:26 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13767			
				
12/08/2026 16:07:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                
12/08/2026 16:07:26 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-KkkVmnpkgoRuj7H3k0Yd24P1hkSXcfdFnOTT21.4qmztVu_0O8i
12/08/2026 16:07:26 Detectado modo MULTIPART/FORM-DATA
12/08/2026 16:07:26 Firma Base64 guardada: ../csj.digital-service.cl/uploads/firmas/firma_0_1786565246.png
12/08/2026 16:07:26 Envío correo: OK
------------------

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:07:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:28 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/08/2026 16:07:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:07:28 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

[12/08/2026 16:07:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:07:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:07:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:07:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:07:28 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:07:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16:07:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:07:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13767
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13767
                and cs.estado_control = 1;
                

12/08/2026 16:07:40 - INPUT: {"rutTecnico":"19969062"}[12/08/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 = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/08/2026 16:07:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 16:07:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 12/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [RutCliente] => 65093790
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [RutCliente] => 77585343
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

)

12/08/2026 16:07:40 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:41 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

[12/08/2026 16:07:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:41 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

[12/08/2026 16:07:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:41 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:42 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[12/08/2026 16:07:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:42 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[12/08/2026 16:07:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

[12/08/2026 16:07:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:44 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[12/08/2026 16:07:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 16:07:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:44 - INPUT: {"rutTecnico":"19969062"}
12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

[12/08/2026 16:07:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/08/2026 16:07:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:07:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13700
            GROUP BY l.idllamado;
            

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:07:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 16:52:50 - INPUT: {"rutTecnico":"27729424"}[12/08/2026 16:52:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 16:52:50 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 12/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 12/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [RutCliente] => 76250610
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => JULIO ALEJANDRO ENRIQUE ABASOLO ARAVENA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 5735196
            [ModeloMaquina] => STUDIO 3508A
            [FechaLlamado] => 10/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 07/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/08/2026
        )

)
[12/08/2026 16:52: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 = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 16:52:52 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 16:52:52] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:52:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13766
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3116
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:52:57 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 16:52:57] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13766
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3116
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:53:00 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 16:53:00] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13766
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3116
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:53:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:53:36 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 16:53:36] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13766
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3116
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:53:38 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 16:53:38] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 16:53:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13766
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3116
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 16:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:53:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:53:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 16:54:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KTbqQS_c-or7k0fzi7_hUI_VjZ4C0nTLIba1N8aiB36Yi6jbCDJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3116",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "1228",
    "contadorColor": "8744",
    "contadorScanner": "0",
    "detalle": "mantencion ",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13766",
    "observacion": "",
    "firma": "",
    "razonSocial": "DSPRINT",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1265\",\"id_control\":\"29619\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:54",
    "ubicacionGPS": "LatLng(lat: -23.661775, lng: -70.3999943)",
    "horaLlegada": "16:51",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 16:54:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 16:54:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[12/08/2026 16:54: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('76121841', 'EP3116', 2, 27729424, 1228, NOW(), 
				'08:00', '16:51', '16:54', 3, 'mantencion ', -1, 
				'', '','1','8744',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.661775, lng: -70.3999943)' )
				
[12/08/2026 16:54:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201465
[12/08/2026 16:54:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('201465', 'EPS-R1265', 1)
				
[12/08/2026 16:54:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29619 and
				    IDproducto = 'EPS-R1265'
				

12/08/2026 16:54:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1265';
                
12/08/2026 16:54:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201465'                    
				WHERE idllamado = 13766			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


12/08/2026 16:54:17 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13766			
				
12/08/2026 16:54:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/08/2026 16:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 16:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                
12/08/2026 16:54:17 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-KTbqQS_c-or7k0fzi7_hUI_VjZ4C0nTLIba1N8aiB36Yi6jbCDJ
12/08/2026 16:54:17 Detectado modo MULTIPART/FORM-DATA
12/08/2026 16:54:17 Envío correo: OK
------------------

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 16: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 17:01:43 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:01:43] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:01:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:01: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 17:01:43 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:01:43] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:01:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:01: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13766
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13766
                and cs.estado_control = 1;
                

12/08/2026 17:01:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 17:01:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13766
                and cs.estado_control = 1;
                

12/08/2026 17:01:46 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:01:46] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:01:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:01:46 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:01:46] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:01:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:50 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

[12/08/2026 17:01:50] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:01:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:50 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:01:50] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13773
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 12/08/2026
            [HoraLlamado] => 16:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3115
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                
=========================================
FECHA: 12/08/2026 17:02:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xlATbkNQt3XnOnmO.XE0KFCy3E+f8MCNhOH.LfZzfAizwN5.+FB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP3115",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "2097",
    "contadorColor": "11028",
    "contadorScanner": "0",
    "detalle": "mantencion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13773",
    "observacion": "",
    "firma": "",
    "razonSocial": "DSPRINT",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "STIVEN VALDERRAMA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "17:02",
    "ubicacionGPS": "LatLng(lat: -23.6618272, lng: -70.4000502)",
    "horaLlegada": "16:51",
    "horaDespacho": "16:54",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/08/2026 17:02:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/08/2026 17:02:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[12/08/2026 17:02:27] [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', 'EP3115', 2, 27729424, 2097, NOW(), 
				'16:54', '16:51', '17:02', 3, 'mantencion', -1, 
				'', '','1','11028',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618272, lng: -70.4000502)' )
				
[12/08/2026 17:02:27] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 201466

12/08/2026 17:02:27 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '201466'                    
				WHERE idllamado = 13773			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


12/08/2026 17:02:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13773			
				
12/08/2026 17:02: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

12/08/2026 17:02:27 Inicio request. Content-Type: multipart/form-data; boundary=dart-http-boundary-xlATbkNQt3XnOnmO.XE0KFCy3E+f8MCNhOH.LfZzfAizwN5.+FB
12/08/2026 17:02:27 Detectado modo MULTIPART/FORM-DATA
12/08/2026 17:02:27 Envío correo: OK
------------------

12/08/2026 17:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:02:30 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:02:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:02:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:02:30 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:02:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:02:30 - INPUT: {"rutTecnico":"27729424"}
12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

[12/08/2026 17:02:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:02:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:10:30 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:10:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:10:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:10:30 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:10:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:10:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:10:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:10:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:10:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17:10:30 - INPUT: {"rutTecnico":"27729424"}
[12/08/2026 17:10:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:10:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13485
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISION TECNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 23/07/2026
            [HoraLlamado] => 14:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13607
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN DE IMPRESORA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 31/07/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ECO TANK L1455
            [SerieInternaMaquina] => EP2040
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/08/2026 17:10:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.cliente as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13773
            GROUP BY l.idllamado;
            

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17: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 = 13773
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13700
                and cs.estado_control = 1;
                

12/08/2026 17:49:37 - INPUT: {"rutTecnico":"19969062"}[12/08/2026 17:49:37] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/08/2026 17:49:37 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 12/08/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO NUESTRA  SENORA DE AYQUINA
            [ciudad] => CALAMA
            [RutCliente] => 65093790
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 11/08/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE REPUESTOS RODAR LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79609330
            [ModeloMaquina] => STUDIO 3518
            [FechaLlamado] => 11/08/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655idn
            [FechaLlamado] => 11/08/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CRISTOBAL IGNACIO LY VALLOTTON 
            [ciudad] => CALAMA
            [RutCliente] => 16244783
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/08/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SUNWORK SPA
            [ciudad] => VALPARAISO
            [RutCliente] => 77585343
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 11/08/2026
        )

)
[12/08/2026 17:49:37] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/08/2026 17:49:37 - INPUT: {"rutTecnico":"19969062"}
[12/08/2026 17:49:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/08/2026 17:49:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13700
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13702
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEAS A LO LARGO DE LA HOJA..
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 07/08/2026
            [HoraLlamado] => 09:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13743
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE A BANDEJA NO SE CIERRA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/08/2026
            [HoraLlamado] => 10:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3007
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
